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