How upal02/note-taker works
Notes Management Dashboard supports registration and login, role-protected dashboards, note CRUD, user administration, and analytics. Users enter through the React app; Redux-backed pages call the versioned Express API, whose routes apply authentication, role checks, and validation before controllers and services access PostgreSQL. The graph includes the documented analytics and dashboard capabilities, but analytics implementation details and several frontend API calls were not sampled; those connections are omitted or marked unverified rather than inferred as confirmed calls.
Main entry points: App.jsx Route application · app.js Express API · noteRoutes.js Notes routes · store.js Redux store
Components 29
Frontend experience
- Route application
frontend/src/App.jsx - Login and registration
frontend/src/pages/LoginPage.jsx - Role dashboards
frontend/src/pages/UserDashboard.jsx - Notes interface
frontend/src/pages/NotesPage.jsx - Role navigation
frontend/src/components/navbar/Navbar.jsx - Redux store
frontend/src/redux/store.js - Authentication state
frontend/src/redux/slices/authSlice.js - Notes state
frontend/src/redux/slices/noteSlice.js - Analytics state
frontend/src/redux/slices/analyticsSlice.js - API client
frontend/src/api/index.js
API and access control
- Express API
backend/src/app.js - Authentication routes
backend/src/routes/authRoutes.js - Notes routes
backend/src/routes/noteRoutes.js - User routes
backend/src/routes/userRoutes.js - Analytics routes
backend/src/routes/analyticsRoutes.js - JWT authentication
backend/src/middleware/authMiddleware.js - Role authorization
backend/src/middleware/roleMiddleware.js - Request validation
backend/src/middleware/validateMiddleware.js
Domain services
- Authentication service
backend/src/services/authService.js - Notes controller
backend/src/controllers/noteController.js - Notes service
backend/src/services/noteService.js - User controller
backend/src/controllers/userController.js - User service
backend/src/services/userService.js - Analytics controller
backend/src/controllers/analyticsController.js - Analytics service
backend/src/services/analyticsService.js
Persistence
- User and note models
backend/src/models/index.js - PostgreSQL database
backend/src/config/database.js
Other components
- User
- PostgreSQL
Connections 36
- User → Route application: uses
README.md - Route application → Login and registration: routes to
frontend/src/App.jsx - Route application → Role dashboards: routes to
frontend/src/App.jsx - Route application → Notes interface: routes to
frontend/src/App.jsx - Route application → Redux store: reads auth state
- Role navigation → Authentication state: reads
frontend/src/components/navbar/Navbar.jsx - Redux store → Authentication state: registers reducer
frontend/src/redux/store.js - Redux store → Notes state: registers reducer
frontend/src/redux/store.js - Redux store → Analytics state: registers reducer
frontend/src/redux/store.js - Authentication state → API client: calls
frontend/src/redux/slices/authSlice.js - Notes interface → Notes state: dispatches actions
- Role dashboards → Analytics state: dispatches actions
- Role dashboards → Notes state: dispatches actions
- API client → Express API: sends API requests
- Express API → Authentication routes: mounts
backend/src/app.js - Express API → Notes routes: mounts
backend/src/app.js - Express API → User routes: mounts
backend/src/app.js - Express API → Analytics routes: mounts
backend/src/app.js - Authentication routes → JWT authentication: applies
backend/src/routes/authRoutes.js - Notes routes → JWT authentication: applies
backend/src/routes/noteRoutes.js - Notes routes → Role authorization: applies
backend/src/routes/noteRoutes.js - Notes routes → Request validation: validates with
backend/src/routes/noteRoutes.js - User routes → JWT authentication: applies
backend/src/routes/userRoutes.js - User routes → Role authorization: applies
backend/src/routes/userRoutes.js - Authentication routes → Authentication service: dispatches to
backend/src/routes/authRoutes.js - Notes routes → Notes controller: dispatches to
backend/src/routes/noteRoutes.js - User routes → User controller: dispatches to
backend/src/routes/userRoutes.js - Analytics routes → Analytics controller: dispatches to
backend/src/routes/analyticsRoutes.js - Notes controller → Notes service: calls
backend/src/controllers/noteController.js - User controller → User service: calls
backend/src/controllers/userController.js - Authentication service → User and note models: reads and creates users
backend/src/services/authService.js - Notes service → User and note models: uses models
backend/src/services/noteService.js - User service → User and note models: uses models
backend/src/services/userService.js - Analytics controller → Analytics service: uses
- User and note models → PostgreSQL database: configures ORM
backend/src/models/index.js - PostgreSQL database → PostgreSQL: connects to