How andypedozz/da_repository works
This is an Express project/task management application with user administration and cookie-based authentication. The main workflow is an HTTP request entering the app, passing route-level authentication/authorization where configured, reaching a controller and service, and accessing domain models backed by the database. The app also serves login and authenticated home pages. Several model, route, and database implementations were not sampled, so uncertain internal calls are omitted.
Main entry points: app.js Express app · auth.js Auth middleware and tokens · UserRoutes.js User routes · ProjectRoutes.js Project routes
Components 22
HTTP and UI
- Express app
app.js - Login page
login.html - Home page
index.html
Authentication and access
- Auth routes
src/routes/AuthRoutes.js - Auth controller
src/controllers/AuthController.js - Auth service
src/services/AuthService.js - Auth middleware and tokens
src/lib/auth.js - Role and ownership checks
src/lib/authorization.js
Domain operations
- User routes
src/routes/UserRoutes.js - User controller
src/controllers/UserController.js - User service
src/services/UserService.js - Project routes
src/routes/ProjectRoutes.js - Project controller
src/controllers/ProjectController.js - Project service
src/services/ProjectService.js - Task routes
src/routes/TaskRoutes.js - Task controller
src/controllers/TaskController.js - Task service
src/services/TaskService.js
Persistence
- User model
src/models/User.js - Project model
src/models/Project.js - Task model
src/models/Task.js - Database client
src/lib/db.js
Other components
- User
Connections 28
- User → Express app: sends requests
- Express app → Auth routes: mounts /auth
- Express app → User routes: mounts /users
- Express app → Project routes: mounts /projects
- Express app → Task routes: mounts /tasks
- Express app → Database client: initializes
- Express app → Login page: serves /login
- Express app → Auth middleware and tokens: guards home
- Express app → Home page: serves home
- Auth routes → Auth controller: dispatches
- Auth controller → Auth service: calls
- Auth controller → Auth middleware and tokens: sets or clears cookie
- Auth service → User model: looks up or creates
- Auth service → Auth middleware and tokens: hashes and signs
- User routes → Auth middleware and tokens: authenticates
- User routes → Role and ownership checks: checks admin role
- User routes → User controller: dispatches
- User controller → User model: calls CRUD
- Project routes → Auth middleware and tokens: authenticates
- Project routes → Role and ownership checks: checks access
- Project routes → Project controller: dispatches
- Project controller → Project service: calls
- Project service → Project model: calls CRUD
- Task routes → Auth middleware and tokens: authenticates
- Task routes → Role and ownership checks: checks task access
- Task routes → Task controller: dispatches
- Task controller → Task service: calls
- Task service → Task model: calls CRUD