The Fixly repository is organized into a client-server architecture with comprehensive documentation and planning materials.
Fixlygitsprint/
├── Documentation/
│ ├── 13_Fixly_UI_UX__.pdf
│ ├── G13_Fixly_Project_Proposal.pdf
│ ├── G13_Fixly_Requirements_Specification_Document.pdf
│ ├── G13_Fixly_System_design.pdf
│ ├── G13_Fixly_Task_Timelines&Milestones.pdf
│ ├── G13_Fixly_W4_Progress_Report.pdf
│ └── Testing/
├── ProductDetails/
│ ├── acceptance_criteria.md
│ ├── product_backlog.md
│ ├── product_requirements.md
│ ├── project_status_report.md
│ ├── roadmap.md
│ ├── sprint_planning.md
│ └── user_stories.md
├── README.md
├── client/
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── public/
│ ├── src/
│ │ ├── App.jsx
│ │ ├── components/
│ │ ├── config/
│ │ ├── constants/
│ │ ├── context/
│ │ ├── hooks/
│ │ ├── pages/
│ │ ├── services/
│ │ ├── styles/
│ │ └── utils/
│ └── vite.config.js
├── code_docs/
│ ├── CLOUDINARY_SPRINT_SUMMARY.md
│ └── imageManagementAPI.md
└── server/
├── config/
├── controllers/
├── middleware/
├── models/
├── routes/
├── utils/
├── package.json
└── server.js
The server follows a controller-based architecture with dedicated controllers for each entity:
adminController.js- Admin functionalityauthController.js- Authentication and authorizationbookingController.js- Booking managementcommissionController.js- Commission calculationscomplaintController.js- User complaintspaymentController.js- Payment processingreportController.js- Reporting functionalityreviewController.js- Review and rating systemserviceCategoryController.js- Service categoriesserviceListingController.js- Service listingsserviceProviderController.js- Service provider profilessettingsController.js- Platform settingsspecificReportController.js- Specific report typesuserController.js- User management
Database models using Mongoose:
AdminEarnings.js- Admin revenue trackingBooking.js- Booking recordsCommission.js- Commission settingsComplaint.js- User complaintsPayment.js- Payment recordsReport.js- User reportsReview.js- Service reviewsServiceCategory.js- Service categoriesServiceListing.js- Service listingsServiceProvider.js- Service provider profilesSettings.js- Platform settingsUser.js- User accounts
API routing organized by entity:
api/admin.js- Admin endpointsapi/auth.js- Authentication endpointsapi/bookings.js- Booking endpointsapi/categories.js- Category endpointsapi/commissions.js- Commission endpointsapi/complaints.js- Complaint endpointsapi/listings.js- Listing endpointsapi/payments.js- Payment endpointsapi/providers.js- Provider endpointsapi/reports.js- Report endpointsapi/reviews.js- Review endpointsapi/settings.js- Settings endpointsapi/specificReports.js- Specific report endpointsapi/users.js- User endpoints
Custom middleware for common functionality:
auth.js- Authentication and authorizationerrorHandler.js- Global error handlingvalidateProvider.js- Provider validation
cloudinary.js- Cloudinary image managementdb.js- Database connection
Reusable UI components organized by feature:
- Authentication components
- Booking components
- Service listing components
- Profile management components
- Admin dashboard components
Top-level page components:
- Home page
- Authentication pages (Login, Register)
- Service browsing pages
- Booking pages
- Profile pages
- Admin dashboard
API service layer for backend communication:
- Authentication services
- Booking services
- Payment services
- Profile services
- Admin services
React Context for state management:
- Authentication context
- Booking context
- User context
Comprehensive documentation organized in:
ProductDetails/- Product management documentsDocumentation/- Design and planning documentscode_docs/- Technical API documentation