reference / project-structure
🏗️ Project Structure
This document provides an overview of the VibeCodex project structure to help contributors understand how the codebase is organized.
📁 Directory Structure
vibecodex/
├── app/ # Next.js App Router pages
│ ├── contribute/ # Contribution page
│ ├── projects/ # Projects listing and details
│ ├── start/ # Getting started page
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout with metadata
│ ├── page.tsx # Home page
│ ├── robots.ts # Robots.txt configuration
│ └── sitemap.ts # Sitemap configuration
├── components/ # Reusable React components
│ ├── ui/ # UI components (shadcn/ui)
│ ├── mobile-nav.tsx # Mobile navigation
│ ├── phase-navigation.tsx # Project phase navigation
│ ├── phase-completion-status.tsx # Phase completion UI
│ └── tool-logo.tsx # Tool logo component
├── lib/ # Utility functions and data
│ ├── mock-data.ts # Mock data for projects and tools
│ ├── seo-config.ts # SEO configuration
│ └── utils.ts # Utility functions
├── public/ # Static assets
│ ├── images/ # Image assets
│ └── favicon.ico # Favicon
└── docs/ # Documentation
🔧 Key Components
📄 App Router Pages
app/page.tsx
: The home page with hero section and featured projectsapp/projects/page.tsx
: Projects listing page with filteringapp/projects/[id]/page.tsx
: Project detail pageapp/projects/[id]/[tool]/page.tsx
: Tool-specific project page with promptsapp/start/page.tsx
: Getting started page with project type selectionapp/contribute/page.tsx
: Contribution page with guidelines
🧩 Components
components/site-header.tsx
: Main navigation headercomponents/site-footer.tsx
: Footer with links and copyrightcomponents/phase-navigation.tsx
: Navigation between project phasescomponents/phase-completion-status.tsx
: UI for tracking phase completioncomponents/tool-logo.tsx
: Displays tool logos with consistent styling
🎨 UI Components
components/ui/button.tsx
: Button componentcomponents/ui/card.tsx
: Card componentcomponents/ui/gradient-button.tsx
: Button with gradient stylingcomponents/ui/glass-card.tsx
: Card with glass morphism effectcomponents/ui/prompt-display.tsx
: Displays AI prompts with tooltips
📚 Lib
lib/mock-data.ts
: Contains project and tool datalib/seo-config.ts
: SEO configurationlib/utils.ts
: Utility functions including Tailwind class merging
🔄 Data Flow
- User navigates to the projects page
- Projects are loaded from
mock-data.ts
- User selects a project and is taken to the project detail page
- User selects an AI tool and is taken to the tool-specific page
- User follows the prompts to build their project with the selected AI tool
🗂️ State Management
- Local component state using React's
useState
anduseEffect
- URL parameters for navigation state
- Local storage for persisting user preferences
🎨 Styling
- Tailwind CSS for utility-based styling
- CSS variables for theming
- Responsive design with mobile-first approach
- Dark mode support
➕ Adding New Features
When adding new features:
- Create new components in the appropriate directory
- Update mock data if needed
- Add new pages in the app directory
- Update tests
- Document your changes
📖 Related Documentation
- Implementation Notes - Detailed implementation guidelines
- Contributing Guide - How to contribute to the project
- AI Tools Integration - Integration with AI tools
Last updated: Recently