DocsGetting StartedProject Structure

Project Structure

Shipfastai follows a monorepo structure with separate frontend and backend directories.

Overview

Shipfastai/

├── frontend/ # Next.js application

│ ├── src/

│ │ ├── app/ # App Router pages

│ │ ├── components/ # React components

│ │ ├── lib/ # Utilities and helpers

│ │ └── hooks/ # Custom React hooks

│ └── public/ # Static assets

├── backend/ # FastAPI application

│ ├── app/

│ │ ├── api/ # API endpoints

│ │ ├── core/ # Config, security

│ │ ├── models/ # Pydantic models

│ │ └── services/ # Business logic

│ └── tests/ # Backend tests

├── supabase/ # Database setup

│ └── migrations/ # SQL migrations

└── docs/ # Documentation

Frontend Structure

`src/app/`

Next.js App Router pages:

•(marketing)/ - Public marketing pages

•(auth)/ - Login, signup, password reset

•(dashboard)/ - Protected app pages

•api/ - API route handlers

`src/components/`

Reusable components organized by feature:

•ui/ - Base UI components (buttons, inputs)

•marketing/ - Landing page components

•dashboard/ - App-specific components

•providers/ - Context providers

`src/lib/`

Shared utilities:

•supabase.ts - Supabase client configuration

•stripe.ts - Stripe helpers

•email.ts - Email sending functions

•utils.ts - General utilities

Backend Structure

`app/api/`

FastAPI routers:

•auth.py - Authentication endpoints

•users.py - User management

•billing.py - Stripe integration

•ai.py - AI/LLM endpoints

`app/services/`

Business logic layer:

•rag.py - RAG pipeline implementation

•embeddings.py - Vector embeddings

•llm.py - LLM integrations

Database

Supabase tables:

•profiles - User profiles

•organizations - Multi-tenancy

•subscriptions - Stripe subscriptions

•documents - RAG document storage