- kazi-app/
- client/ // Frontend code
- public/
- src/
- components/ // React components
- Auth/
- LoginForm.js
- RegisterForm.js
- ...
- Profile/
- UserProfile.js
- EditProfile.js
- ...
- Jobs/
- JobList.js
- JobDetail.js
- ...
- Messages/
- Chat.js
- ...
- Dashboard/
- Dashboard.js
- ...
- Common/
- Header.js
- Footer.js
- ...
- Auth/
- App.js // Main React application
- index.js // Entry point
- ...
- components/ // React components
- server/ // Backend code
- routes/
- auth.js // Authentication routes
- profile.js // User profile routes
- jobs.js // Job-related routes
- messages.js // Messaging routes
- moderation.js // Moderation routes
- models/
- User.js // User model
- Job.js // Job model
- Message.js // Message model
- ...
- controllers/
- authController.js // Authentication controller
- profileController.js // Profile controller
- jobsController.js // Jobs controller
- messagesController.js // Messaging controller
- ...
- middleware/
- authMiddleware.js // Authentication middleware
- ...
- config/
- keys.js // Configuration for secrets (e.g., database connection)
- ...
- routes/
- tests/ // Backend and frontend tests
- node_modules/ // Node.js modules (generated)
- package.json // Project dependencies and scripts
- package-lock.json // Lockfile for dependencies
- README.md // Project documentation
- .gitignore // Git ignore file
- client/ // Frontend code