How naveensai123/jwt-authentication-service works
This repository is a small Express API for account authentication and basic person records. Clients enter through the server and route modules; request schemas validate selected inputs before controllers handle registration, login, password changes, profiles, or person operations. Controllers delegate persistence and password work to services, which use Drizzle with PostgreSQL schemas. Authentication additionally signs and verifies JWTs. The graph follows shown route wiring and imports; the README provides no further capability details, and unsampled modules are not assumed to add behavior.
Main entry points: index.ts Drizzle client · auth.routes.ts Auth routes · server.ts Express server · person.routes.ts Person routes
Components 16
HTTP API
- Express server
src/server.ts - Auth routes
src/routes/auth.routes.ts - Person routes
src/routes/person.routes.ts
Authentication
- Auth validation
src/validators/auth.validator.ts - Auth controller
src/controllers/auth.controller.ts - JWT middleware
src/middlewares/auth.middleware.ts - Auth service
src/services/auth.service.ts
Person Records
- Person validation
src/validators/person.validator.ts - Person controller
src/controllers/person.controller.ts - Person service
src/services/person.service.ts
Persistence
- Drizzle client
src/db/index.ts - Users schema
src/db/schema.ts - Persons schema
src/db/schema2.ts
Other components
- API client
- PostgreSQL
- JWT library
Connections 19
- API client → Express server: sends requests
src/server.ts - Express server → Auth routes: mounts routes
src/server.ts - Express server → Person routes: mounts routes
src/server.ts - Auth routes → Auth validation: validates input
src/routes/auth.routes.ts - Auth routes → Auth controller: dispatches requests
src/routes/auth.routes.ts - Auth routes → JWT middleware: guards profile
src/routes/auth.routes.ts - Auth controller → Auth service: calls auth operations
src/controllers/auth.controller.ts - Auth controller → JWT library: signs tokens
src/controllers/auth.controller.ts - JWT middleware → JWT library: verifies tokens
src/middlewares/auth.middleware.ts - Person routes → Person validation: validates input
src/routes/person.routes.ts - Person routes → Person controller: dispatches requests
src/routes/person.routes.ts - Person controller → Person service: calls person operations
src/controllers/person.controller.ts - Auth service → Drizzle client: queries database
src/services/auth.service.ts - Auth service → Users schema: uses table
src/services/auth.service.ts - Person service → Drizzle client: queries database
src/services/person.service.ts - Person service → Persons schema: uses table
src/services/person.service.ts - Drizzle client → Users schema: loads schema
src/db/index.ts - Drizzle client → Persons schema: loads schema
src/db/index.ts - Drizzle client → PostgreSQL: connects to
src/db/index.ts