Skip to main content

Terminology

This part of the guide serves as a reference for specialized vocabulary and concepts needed to use Squid.

Squid Console

The Squid Console is the main access point for the platform. Through the console, you can set up an organization and develop apps.

Organization

An Organization is usually your company or a team in the company. You may invite members to the organization and define their roles.

Application

A Squid Application is a product created using Squid that serves as your Backend-for-Frontend (BFF), allowing you to easily connect various resources, such as databases and backends, to your frontend in a secure and scalable way.

Environment

Squid provides two environments for your work: dev and prod.

When you create a new application, Squid automatically sets up these dev and prod environments for you.

Use the dev environment for your development and testing. The prod environment is for when you're ready to take your application live.

Integration

A Squid Application has the capability to connect to multiple data sources, APIs, and other backend resources through a feature called Integrations.

Each Integration has a unique ID that can be referenced in code.

It is important to note that Squid comes equipped with a pre-configured database Integration ID built_in_db, which is automatically used as the default Integration if a specific Integration ID is not provided.

Database integrations

In Squid, database objects are generalized as follows:

A database is typically mapped to an integration, with some exceptions. A table or collection in NoSQL databases is equivalent to a collection in Squid. A record in a database corresponds to a document in Squid.

It's worth noting that in certain databases, an integration may not always be directly mapped to the top-level database. For example, in PostgreSQL and Microsoft SQL Server, an integration maps to a combination of a database and a schema.

Developer ID

The Squid Developer ID is a unique identifier you receive when you create a Squid account, and it's used to identify your local development environment when you start your local Squid backend.

Components

Like all good things, Squid consists of 3 parts:
  • The Squid Client SDK is a typescript library that facilitates secure connections between client applications and the Squid server, allowing access to the services provided by Squid.
  • The Squid Server handles the complexities of scaling, security, observability, availability, and more.
  • The Squid Backend SDK is a typescript library that offers a way for applications to expand their backend behavior.

Squid offers a Command Line Interface (CLI) tool for generating a backend project and deploying your code to the Squid Server. Before getting started, make sure to generate an API key through the Squid Console.