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.