How sarthakray26/mployeecheck-assignment works
MployCheck is an employee background-verification portal. Users sign in, then view dashboard statistics or search and filter verification records; administrators additionally manage user accounts. The Angular SPA calls an Express API, whose controllers handle authentication, record queries, and user CRUD against MongoDB. Dashboard charts, recent activity, role-based access, pagination, and theme/notification services are documented capabilities; where their implementation was not sampled, links reflect documented responsibilities rather than detailed internals.
Main entry points: main-layout.component.ts Main layout · index.js Express server · auth.service.ts Auth service · authRoutes.js Auth routes
Components 21
Angular portal
- Login screen
client/src/app/auth/login/login.component.ts - Main layout
client/src/app/layouts/main-layout/main-layout.component.ts - Dashboard
client/src/app/dashboard/dashboard.component.ts - Records table
client/src/app/records/records.component.ts - Admin panel
client/src/app/admin/admin.component.ts
Authentication and access
- Auth service
client/src/app/services/auth.service.ts - User service
client/src/app/services/user.service.ts - Route guards
client/src/app/guards - Auth routes
server/routes/authRoutes.js - Auth controller
server/controllers/authController.js - JWT middleware
server/middleware/auth.js
Verification records
- Record service
client/src/app/services/record.service.ts - Record routes
server/routes/recordRoutes.js - Record controller
server/controllers/recordController.js - Record collection
server/models/Record.js
API and persistence
- User routes
server/routes/userRoutes.js - User controller
server/controllers/userController.js - User collection
server/models/User.js - Express server
server/index.js
Other components
- Portal user
- MongoDB
Connections 30
- Portal user → Login screen: signs in
- Portal user → Main layout: uses portal
- Login screen → Auth service: submits credentials
- Auth service → Auth routes: sends login/profile requests
- Auth routes → Auth controller: dispatches
- Auth routes → JWT middleware: protects profile
- Auth controller → User collection: reads and updates
- Auth service → Main layout: provides session
- Main layout → Route guards: routes access
- Main layout → Dashboard: navigates to
- Main layout → Records table: navigates to
- Main layout → Admin panel: navigates to
- Route guards → Auth service: checks session and role
- Dashboard → Record service: requests statistics
- Records table → Record service: requests filtered records
- Record service → Record routes: sends records requests
- Record routes → JWT middleware: protects requests
- Record routes → Record controller: dispatches
- Record controller → Record collection: queries and aggregates
- Admin panel → User service: manages users
- User service → User routes: sends user requests
- User routes → JWT middleware: authenticates
- User routes → User controller: dispatches
- User controller → User collection: reads and changes
- Express server → Auth routes: mounts auth API
- Express server → User routes: mounts user API
- Express server → Record routes: mounts records API
- Express server → MongoDB: connects through config/db.js
- User collection → MongoDB: persists users
- Record collection → MongoDB: persists records