How arm1991/full-stack-todo-list works
This repository implements a browser-based todo application with account registration, sign-in, token refresh, and per-user todo management. The user enters through the React app; authentication gates the content, while frontend service modules make API requests to the Express router. The backend routes authentication and todo requests to controllers, which delegate to services for validation, token handling, and user/todo operations persisted through MongoDB models. The sampled sources establish the backend call paths; several frontend component and Redux internals were not sampled, so their wiring is shown only where directly evident.
Main entry points: user-service.js User service · App.jsx App · index.js API router · todo-controller.js Todo controller
Components 20
Frontend application
- App
frontend/src/App.jsx - Auth UI
frontend/src/components/Auth.jsx - Content UI
frontend/src/components/Content.jsx - Main view
frontend/src/components/main/Main.jsx - Todo view
frontend/src/components/sections/section-two/todo/Todo.jsx - Auth client
frontend/src/services/AuthService.js - Todo client
frontend/src/services/TodoService.js - API client
frontend/src/api/index.js
Backend API
- API server
backend/index.js - API router
backend/router/index.js - Auth middleware
backend/middlewares/auth-middleware.js
Identity services
- User controller
backend/controllers/user-controller.js - User service
backend/services/user-service.js - Token service
backend/services/token-service.js - User model
backend/models/user-model.js - Token model
backend/models/token-model.js
Todo services
- Todo controller
backend/controllers/todo-controller.js - Todo service
backend/services/todo-service.js
Other components
- User
- MongoDB
Connections 22
- User → App: uses
- App → Auth UI: renders when signed out
- App → Content UI: renders when signed in
- App → Main view: content composition
- User → Auth client: submits credentials
- User → Todo view: manages todos
- Auth client → API client: sends auth requests
- Todo client → API client: sends todo requests
- API client → API server: HTTP requests
- API server → API router: mounts API routes
- API router → User controller: dispatches auth routes
- API router → Auth middleware: guards todo routes
- API router → Todo controller: dispatches todo routes
- User controller → User service: calls identity operations
- User service → User model: reads and writes users
- User service → Token service: manages tokens
- User service → Todo service: creates default todo
- Todo controller → Todo service: creates todos
- Todo controller → User service: updates user todos
- Token service → Token model: stores refresh tokens
- User model → MongoDB: persists users
- Token model → MongoDB: persists tokens