How cesarf1204/foxy-list-app works
This is a task-board web application with a React frontend and an Express/MongoDB backend. The primary workflow is a user managing tasks across boards: the frontend task hook performs task operations through its API client, while backend routes dispatch to controllers, services, and models. Separate branches cover account registration and session-based authentication, administrator account management, and API documentation. Many frontend-to-backend HTTP details and unsampled UI wiring are not shown, so those relationships are omitted or marked unverified.
Main entry points: api.routes.js API route assembly · App.jsx Application routes · server.js API server · userRoutes.js Account routes
Components 25
Web frontend
- Application routes
web-frontend/src/App.jsx - Task dashboard
web-frontend/src/pages/Dashboard.jsx - Task operations
web-frontend/src/hooks/useTasks.js - Task API client
web-frontend/src/api-client/tasks.js - API docs page
web-frontend/src/pages/ApiDocs.jsx - Docs API client
web-frontend/src/api-client/docs.js
HTTP API
- API server
web-backend/server.js - API route assembly
web-backend/routes/api.routes.js - Account routes
web-backend/routes/userRoutes.js - Task routes
web-backend/routes/taskRoutes.js - Admin routes
web-backend/routes/adminRoutes.js - Session authentication
web-backend/middleware/authMiddleware.js - Task controller
web-backend/controllers/taskController.js - Account controller
web-backend/controllers/authController.js - Admin controller
web-backend/controllers/adminController.js - OpenAPI routes
web-backend/swagger/swaggerRoutes.js
Domain services
- Task rules
web-backend/services/taskService.js - Account services
web-backend/services/authService.js - Admin operations
web-backend/services/adminService.js
Persistence
- Task model
web-backend/models/taskModel.js - User model
web-backend/models/userModel.js
API documentation
- OpenAPI definition
web-backend/swagger/openapi.js
Other components
- User
- Backend HTTP API
- MongoDB
Connections 30
- User → Application routes: uses
- Application routes → Task dashboard: routes to
web-frontend/src/App.jsx - Task dashboard → Task operations: uses
- Task operations → Task API client: calls
web-frontend/src/hooks/useTasks.js - Task API client → Backend HTTP API: sends requests
- Backend HTTP API → API server: HTTP requests
- API server → API route assembly: mounts routes
web-backend/server.js - API route assembly → Account routes: registers
web-backend/routes/api.routes.js - API route assembly → Task routes: registers
web-backend/routes/api.routes.js - API route assembly → Admin routes: registers
web-backend/routes/api.routes.js - Account routes → Account controller: dispatches
web-backend/routes/userRoutes.js - Account routes → Session authentication: guards profile routes
web-backend/routes/userRoutes.js - Task routes → Session authentication: guards routes
web-backend/routes/taskRoutes.js - Task routes → Task controller: dispatches
web-backend/routes/taskRoutes.js - Admin routes → Session authentication: guards routes
web-backend/routes/adminRoutes.js - Admin routes → Admin controller: dispatches
web-backend/routes/adminRoutes.js - Task controller → Task rules: calls
web-backend/controllers/taskController.js - Account controller → Account services: calls
web-backend/controllers/authController.js - Admin controller → Admin operations: calls
web-backend/controllers/adminController.js - Task rules → Task model: uses
web-backend/services/taskService.js - Account services → User model: uses
web-backend/services/authService.js - Admin operations → User model: queries
web-backend/services/adminService.js - Admin operations → Task model: queries
web-backend/services/adminService.js - Task model → MongoDB: persists tasks
- User model → MongoDB: persists users
- Application routes → API docs page: routes to
web-frontend/src/App.jsx - API docs page → Docs API client: uses
- Docs API client → Backend HTTP API: requests documentation
- API server → OpenAPI routes: mounts
web-backend/server.js - OpenAPI routes → OpenAPI definition: loads definition
web-backend/swagger/swaggerRoutes.js