Introduction
Project Structure
A guide to the file and folder organization of the VibeFast starter kit.
The VibeFast project is organized as a full-stack monorepo with a clear separation between the frontend (React Native/Expo) and the backend (Convex). This structure promotes modularity and maintainability.
Root Directory
The root of the project contains configuration files, CI/CD workflows, and the main application folders.
assets/
: Static assets like fonts, images, and Lottie animations.convex/
: All backend code, including the database schema and server functions.src/
: All frontend code for the React Native mobile application..github/
: CI/CD workflows for testing and deployment via GitHub Actions.
Frontend (src/
)
The src
directory houses the entire React Native application, organized using a feature-sliced architecture.
app/
: Routing. Contains all screens and navigation logic, managed by Expo Router.components/
: Reusable UI. The core, reusable UI components that form the design system.core/
: Core Services. Application-wide services likeauth
,cache
,logging
, andpayments
.features/
: Business Logic. The primary application logic, organized by feature (e.g.,chatbot
,image-analyzer
).lib/
: Shared Utilities & Hooks. Reusable hooks, i18n setup, and other shared helpers.
Backend (convex/
)
The convex
directory contains all backend logic.
schema.ts
: Defines all database tables, their fields, and indexes.auth.ts
&auth.config.ts
: Configuration for the@convex-dev/auth
package.http.ts
&router.ts
: Defines the HTTP endpoints for features like the AI chatbot stream.*.ts
(e.g.,chatbotHistory.ts
): The core backend logic, organized by domain, containing your queries, mutations, and actions.
### Update for `content/docs/01-introduction/meta.json`
This file should already be correct from the previous step, but please ensure it looks like this to include the new "Project Structure" page:
```json
{
"title": "Introduction",
"pages": ["index", "tech-stack", "project-structure"]
}