Folder Structure - pacificnm/wiki-ai GitHub Wiki

📁 Project Folder Structure

This is the planned folder structure for the AI Wiki Markup App project, organized by separation of concerns and clear distinction between frontend, backend, and shared utilities.

/project-root
│
├── /client # Frontend (React + MUI)
│ ├── /components # Reusable components
│ │ ├── /admin # Admin-only components
│ │ └── /user # User-facing components
│ ├── /pages # Route-based views
│ │ ├── /admin # Admin routes
│ │ │ ├── /documents
│ │ │ ├── /users
│ │ │ ├── /logs
│ │ │ └── /categories
│ │ ├── /user # User routes
│ │ │ ├── /documents
│ │ │ └── /profile
│ ├── /utils # Client-side utilities (e.g., auth helpers)
│ ├── /styles # Global styles/theme
│ └── /hooks # Custom React hooks
│
├── /server # Backend (Node.js + Express)
│ ├── /routes # API route handlers
│ │ ├── /admin # Admin-only APIs
│ │ └── /user # User-accessible APIs
│ ├── /models # Mongoose models and Zod schemas
│ ├── /controllers # Business logic for routes
│ ├── /middleware # Auth, logging, and validation middleware
│ ├── /services # External services (OpenAI, Firebase, etc.)
│ ├── /config # Configuration files (Firebase, etc.)
│ ├── /utils # Logger, formatters, etc.
│ └── index.js # App entry point
│
├── /uploads # Local file uploads (attachments, etc.)
│
├── /scripts # Firebase admin scripts or utilities
│
├── .env # Environment variables
├── README.md # Project README
├── package.json
└── tsconfig.json or jsconfig.json