Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.shipfastai.dev/llms.txt

Use this file to discover all available pages before exploring further.

Shipfastai separates the backend and frontend into sibling directories under the project root. The backend is a standalone FastAPI application and the frontend is a Next.js 15 app — each has its own dependency file, environment configuration, and Dockerfile. Docker Compose ties them together for local development and production.

Directory tree

├── backend/
│   ├── app/
│   │   ├── api/               # API route handlers grouped by feature
│   │   │   ├── auth/          # Authentication endpoints (login, register, OAuth)
│   │   │   ├── users/         # User profile and account management
│   │   │   └── billing/       # Stripe webhook handlers and subscription logic
│   │   ├── core/              # Configuration, security, and database utilities
│   │   ├── models/            # Database models
│   │   └── schemas/           # Pydantic request and response schemas
│   ├── alembic/               # Database migration scripts
│   └── requirements.txt
├── frontend/
│   ├── src/
│   │   ├── app/               # Next.js App Router pages and layouts
│   │   ├── components/        # Reusable React components
│   │   ├── hooks/             # Custom React hooks
│   │   └── lib/               # Shared utilities and API client helpers
│   └── package.json
├── docker-compose.yml
└── .env.example

Backend directories

backend/app/api/ contains all API route handlers, organized into subdirectories by feature. Each subdirectory covers one feature area (auth, users, billing, and so on). When you add a new feature to your app, create a new subdirectory here with its own route definitions. backend/app/core/ holds shared utilities that every route depends on: application settings loaded from environment variables, JWT token creation and verification, password hashing, and database session management. backend/app/models/ defines the data models that map to database tables. When you add a new model, run the migration command from the backend/ directory to apply the schema change to your database. backend/app/schemas/ contains the Pydantic models that define the shape of incoming request bodies and outgoing response payloads. These control exactly what data is exposed through the API.

Frontend directories

frontend/src/app/ follows the Next.js App Router convention. Each subdirectory represents a route segment and contains a page.tsx for the page component and optionally a layout.tsx, loading.tsx, or error.tsx. Marketing pages live under (marketing)/ and authenticated app pages under (app)/. frontend/src/components/ contains reusable UI components shared across pages. Components are organized by type — ui/ for primitive elements (buttons, inputs, cards) and feature-level components in their own directories.

How tiers extend the structure

The Basic tier contains the foundation. Higher tiers add directories to the same layout without removing anything — you can upgrade by merging the additional directories into your existing project. Pro tier adds the following directories to backend/app/api/:
  • api/ai/ — Streaming LLM chat endpoints
  • api/rag/ — Document ingestion and retrieval endpoints
  • api/api_keys/ — API key management for AI usage metering
Enterprise tier adds:
  • api/tenants/ — Multi-tenant management endpoints with isolation logic
  • scripts/finetune/ — QLoRA fine-tuning scripts using PyTorch and PEFT
If you purchased Basic and want to upgrade to Pro or Enterprise, contact support. You pay only the difference between tiers and receive access to the additional directories to merge into your existing codebase.