How teybearr/itelect2-project works
This repository is an Express task-management API with registration and login, bearer-token authentication, role-based task authorization, task CRUD, and centralized error responses. The main workflow runs from HTTP routes through middleware and controllers to Sequelize models and the database. The README documents public task reads, protected writes, and admin-only deletion. A separate src/ example exercises task utilities and fetches sample users; its utility implementation was not excerpted, so that branch is shown only where the excerpts establish calls.
Main entry points: index.cjs Sequelize registry · tasks.js Task routes · server.js Express server · authController.js Auth controller
Components 18
API routing
- Express server
server.js - Task routes
routes/tasks.js - Auth routes
routes/auth.js - Error responses
middleware/errorHandler.js
Auth and access
- Auth controller
controllers/authController.js - Token verification
middleware/verifyToken.js - Role authorization
middleware/requireRole.js
Task management
- Task controller
controllers/taskController.js
Persistence
- Sequelize registry
models/index.cjs - Task model
models/task.cjs - User model
models/user.cjs - Database config
config/config.cjs
Standalone examples
- Example runner
src/app.js - Task utilities
src/utils.js - Sample-user fetch
src/api.js
Other components
- API client
- SQL database
- JSONPlaceholder
Connections 18
- API client → Express server: sends requests
server.js - Express server → Task routes: mounts routes
server.js - Express server → Auth routes: mounts routes
server.js - Express server → Error responses: handles errors
server.js - Task routes → Task controller: dispatches
routes/tasks.js - Task routes → Auth controller: dispatches user list
routes/tasks.js - Task routes → Token verification: checks token
routes/tasks.js - Task routes → Role authorization: checks role
routes/tasks.js - Auth routes → Auth controller: dispatches
routes/auth.js - Auth controller → Sequelize registry: uses models
controllers/authController.js - Task controller → Sequelize registry: uses models
controllers/taskController.js - Sequelize registry → Task model: loads model
models/index.cjs - Sequelize registry → User model: loads model
models/index.cjs - Sequelize registry → Database config: reads config
models/index.cjs - Sequelize registry → SQL database: connects to
models/index.cjs - Example runner → Task utilities: calls utilities
src/app.js - Example runner → Sample-user fetch: fetches sample users
src/app.js - Sample-user fetch → JSONPlaceholder: fetches users
src/api.js