How urbish-mulmi/postgres-express-crud-api works
This is a PostgreSQL-backed Express CRUD API for managing users. Requests enter through the Express app and user routes; create and update requests are validated before controllers call the user model, which queries PostgreSQL and returns results for HTTP responses. At startup, the app verifies database connectivity, creates the users table, and only then listens. The README documents all five CRUD operations and connection pooling. The graph follows the supplied source; Docker hosting is documented, but no Docker configuration is present in the tree.
Main entry points: index.js Express App · db.js Connection Pool · userRoutes.js User Routes · userController.js User Controller
Components 10
HTTP API
- Express App
src/index.js - User Routes
src/routes/userRoutes.js - Input Validator
src/middlewares/inputValidator.Middleware.js - User Controller
src/controllers/userController.js - Error Handler
src/middlewares/errorHandler.Middleware.js
User Data
- User Model
src/models/userModel.js - Connection Pool
src/config/db.js - PostgreSQL
Startup
- Users Table Setup
src/data/createUserTable.js
Other components
- API Client
Connections 13
- API Client → Express App: sends requests
- Express App → User Routes: mounts /api
- User Routes → Input Validator: validates writes
- User Routes → User Controller: dispatches
- User Controller → User Model: calls CRUD
- User Model → Connection Pool: queries
- Connection Pool → PostgreSQL: executes SQL
- User Controller → Error Handler: forwards errors
- Express App → Error Handler: registers handler
- Express App → Connection Pool: checks connection
- Express App → Users Table Setup: initializes table
- Users Table Setup → Connection Pool: creates schema
- Express App → API Client: returns responses