Skip to main content
The Serial mono-repo is organized into three main sections: Frontend, Zuplo, and Supabase. Each section serves a specific purpose in the overall architecture of the project.

Frontend

The frontend section of the mono-repo contains the React-based user interface for the Serial application.
Key points about the frontend structure:
  • The src folder contains the main source code, organized into features and shared components.
  • styles folder holds CSS and Tailwind configuration.
  • Configuration files like vite.config.js, package.json, and various TypeScript configurations are in the root of the frontend directory.
  • The project uses Vite as the build tool, as evidenced by the vite.config.js file.

Zuplo

Zuplo is used for API management and serverless functions in the Serial project.
Key points about the Zuplo structure:
  • The modules/endpoints folder contains various API endpoints organized by functionality.
  • config/routes.oas.json defines the OpenAPI specification for the API routes.
  • Note that a more complete OpenAPI specification is available in the documentation section of the repo.
  • There’s a dedicated tests folder for API tests.
  • TypeScript is used, as indicated by the tsconfig.json file.

Supabase

Supabase is used as the backend database and authentication service for the Serial project.
Key points about the Supabase structure:
  • The migrations folder contains SQL files for database schema changes.
  • config.toml is used for Supabase project configuration when running locally.

Shared Components

The mono-repo also includes some shared elements:
  • A types folder at the root level, containing shared TypeScript definitions used across the project.
  • A documentation folder, containing project documentation using Mintlify for documentation generation.
This structure allows for a cohesive development experience, with frontend, API management, and database operations all contained within a single repository. It facilitates easier coordination between different parts of the application and streamlines the development workflow.