How senaye2003/project-manager-app works
This is a team project-management product: users authenticate, then browse or manage teams, projects, and tasks through a React frontend and Express API. The backend routes requests through authentication, role checks and validation to controllers, services, and Prisma repositories backed by PostgreSQL. The frontend includes dashboard, team, project, and task views; manager/developer roles and task/project statuses are documented capabilities. API documentation and request logging are configured in the server. Some subsystem links rely on the SOURCE INDEX or README because their implementations were not excerpted.
Main entry points: App.jsx App routing · server.js Express server · projectRoutes.js Project routes · client.js HTTP client
Components 34
Web frontend
- App routing
project-manager-frontend/src/App.jsx - Login
project-manager-frontend/src/components/Login.jsx - Dashboard
project-manager-frontend/src/pages/Dashboard.jsx - Projects view
project-manager-frontend/src/pages/Projects.jsx - Tasks view
project-manager-frontend/src/pages/Tasks.jsx - Teams view
project-manager-frontend/src/pages/Teams.jsx - Route guard
project-manager-frontend/src/layouts/ProtectedRoute.jsx - HTTP client
project-manager-frontend/src/api/client.js - Auth API
project-manager-frontend/src/api/auth.js - Projects API
project-manager-frontend/src/api/projects.js - Tasks API
project-manager-frontend/src/api/tasks.js - Teams API
project-manager-frontend/src/api/teams.js
API request handling
- Express server
project-manager-api/src/server.js - User routes
project-manager-api/src/routes/userRoutes.js - Project routes
project-manager-api/src/routes/projectRoutes.js - Task routes
project-manager-api/src/routes/taskRoutes.js - Team routes
project-manager-api/src/routes/teamRoutes.js - JWT authentication
project-manager-api/src/middleware/authenticate.js - Role authorization
project-manager-api/src/middleware/authorizeRole.js - Request validation
project-manager-api/src/middleware/projectValidators.js
Management domains
- User controller
project-manager-api/src/controllers/userController.js - Project controller
project-manager-api/src/controllers/projectController.js - Task controller
project-manager-api/src/controllers/taskController.js - Team controller
project-manager-api/src/controllers/teamController.js - User service
project-manager-api/src/services/userService.js - Project service
project-manager-api/src/services/projectService.js - Task service
project-manager-api/src/services/taskService.js - Team service
project-manager-api/src/services/teamService.js
Persistence
- User repository
project-manager-api/src/repositories/userRepo.js - Project repository
project-manager-api/src/repositories/projectRepo.js - Task repository
project-manager-api/src/repositories/taskRepo.js - Team repository
project-manager-api/src/repositories/teamRepo.js - PostgreSQL
Other components
- User
Connections 46
- User → App routing: uses
project-manager-frontend/src/App.jsx - App routing → Login: routes to
project-manager-frontend/src/App.jsx - App routing → Route guard: guards pages
project-manager-frontend/src/App.jsx - App routing → Dashboard: routes to
project-manager-frontend/src/App.jsx - App routing → Projects view: routes to
project-manager-frontend/src/App.jsx - App routing → Tasks view: routes to
project-manager-frontend/src/App.jsx - App routing → Teams view: routes to
project-manager-frontend/src/App.jsx - Login → Auth API: submits credentials
project-manager-frontend/src/components/Login.jsx - Auth API → HTTP client: sends requests
project-manager-frontend/src/api/auth.js - Projects view → Projects API: loads and updates
project-manager-frontend/src/pages/Projects.jsx - Tasks view → Tasks API: loads and updates
project-manager-frontend/src/pages/Tasks.jsx - Teams view → Teams API: uses
project-manager-frontend/src/pages/Teams.jsx - Dashboard → Projects API: loads data
project-manager-frontend/src/pages/Dashboard.jsx - Dashboard → Tasks API: loads data
project-manager-frontend/src/pages/Dashboard.jsx - Dashboard → Teams API: loads data
project-manager-frontend/src/pages/Dashboard.jsx - Projects API → HTTP client: sends requests
project-manager-frontend/src/api/projects.js - Tasks API → HTTP client: sends requests
project-manager-frontend/src/api/tasks.js - Teams API → HTTP client: sends requests
- HTTP client → Express server: calls API
- Express server → User routes: mounts
project-manager-api/src/server.js - Express server → Project routes: mounts
project-manager-api/src/server.js - Express server → Task routes: mounts
project-manager-api/src/server.js - Express server → Team routes: mounts
project-manager-api/src/server.js - User routes → JWT authentication: authenticates
project-manager-api/src/routes/userRoutes.js - User routes → Role authorization: checks role
project-manager-api/src/routes/userRoutes.js - User routes → User controller: dispatches to
project-manager-api/src/routes/userRoutes.js - Project routes → JWT authentication: authenticates
project-manager-api/src/routes/projectRoutes.js - Project routes → Role authorization: checks role
project-manager-api/src/routes/projectRoutes.js - Project routes → Request validation: validates input
project-manager-api/src/routes/projectRoutes.js - Project routes → Project controller: dispatches to
project-manager-api/src/routes/projectRoutes.js - Task routes → JWT authentication: authenticates
project-manager-api/src/routes/taskRoutes.js - Task routes → Role authorization: checks role
project-manager-api/src/routes/taskRoutes.js - Task routes → Task controller: dispatches to
project-manager-api/src/routes/taskRoutes.js - Team routes → JWT authentication: authenticates
project-manager-api/src/routes/teamRoutes.js - Team routes → Role authorization: checks role
project-manager-api/src/routes/teamRoutes.js - Team routes → Team controller: dispatches to
project-manager-api/src/routes/teamRoutes.js - User controller → User service: calls
project-manager-api/src/controllers/userController.js - Project controller → Project service: calls
project-manager-api/src/controllers/projectController.js - Task controller → Task service: calls
project-manager-api/src/controllers/taskController.js - Team controller → Team service: calls
project-manager-api/src/controllers/teamController.js - Team controller → Team repository: checks duplicate
project-manager-api/src/controllers/teamController.js - User service → User repository: uses
project-manager-api/src/services/userService.js - Project service → Project repository: uses
project-manager-api/src/services/projectService.js - Task service → Task repository: uses
project-manager-api/src/services/taskService.js - Team service → Team repository: uses
project-manager-api/src/services/teamService.js - User repository → PostgreSQL: reads and writes