VibeFast
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 like auth, cache, logging, and payments.
  • 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"]
}