How shubh3819/mini-jira works
Mini Jira is a team project and issue tracker. Users register or sign in, enter protected project and dashboard views, manage project membership, then create, search, filter, assign, and update numbered tickets; ticket and project data is served by an authenticated Express API backed by MongoDB. The graph includes the documented dashboard and management capabilities, but unsampled page implementations leave some client-side wiring implicit. The ticket and project controller relationships are grounded in sampled source; other feature coverage follows the README and tree.
Main entry points: App.jsx Route application · server.js API server · projectController.js Project controller · api.js HTTP client
Components 28
React client
- Route application
client/src/App.jsx - Dashboard
client/src/pages/Dashboard.jsx - HTTP client
client/src/services/api.js
Authentication
- Auth state
client/src/context/AuthContext.jsx - Route guard
client/src/components/ProtectedRoute.jsx - Login and register
client/src/pages/Login.jsx - Registration view
client/src/pages/Register.jsx - Auth requests
client/src/services/authService.js - Auth routes
server/routes/authRoutes.js - Auth controller
server/controllers/authController.js - JWT protection
server/middleware/authMiddleware.js - Token creation
server/utils/generateToken.js - User records
server/models/User.js
Project management
- Project list
client/src/pages/Projects.jsx - Project details
client/src/pages/ProjectDetails.jsx - Project requests
client/src/services/projectService.js - Project routes
server/routes/projectRoutes.js - Project controller
server/controllers/projectController.js - Project records
server/models/Project.js
Ticket management
- Ticket details
client/src/pages/TicketDetails.jsx - Ticket requests
client/src/services/ticketService.js - Ticket routes
server/routes/ticketRoutes.js - Ticket controller
server/controllers/ticketController.js - Ticket records
server/models/Ticket.js
API and persistence
- API server
server/server.js - DB connection
server/config/db.js - MongoDB
Other components
- Team member
Connections 42
- Team member → Route application: uses
- Route application → Login and register: routes
- Route application → Registration view: routes
- Route application → Dashboard: routes
- Route application → Project list: routes
- Route application → Project details: routes
- Route application → Ticket details: routes
- Route application → Route guard: protects views
- Auth state → Route application: provides state
- Login and register → Auth requests: authenticates
- Registration view → Auth requests: registers
- Auth requests → HTTP client: sends requests
- Project list → Project requests: manages projects
- Project details → Project requests: manages members
- Project details → Ticket requests: manages tickets
- Ticket details → Ticket requests: updates ticket
- Dashboard → Project requests: loads overview
- Dashboard → Ticket requests: loads statistics
- Project requests → HTTP client: sends requests
- Ticket requests → HTTP client: sends requests
- HTTP client → API server: REST requests
- API server → DB connection: connects before API
- API server → Auth routes: mounts auth
- API server → Project routes: mounts projects
- API server → Ticket routes: mounts tickets
- Auth routes → JWT protection: protects current-user route
- Auth routes → Auth controller: dispatches
- Project routes → JWT protection: protects routes
- Project routes → Project controller: dispatches
- Ticket routes → JWT protection: protects routes
- Ticket routes → Ticket controller: dispatches
- Auth controller → User records: reads and writes
- Auth controller → Token creation: creates JWT
- Project controller → Project records: reads and writes
- Project controller → User records: validates members
- Project controller → Ticket records: clears assignments
- Ticket controller → Ticket records: reads and writes
- Ticket controller → Project records: checks membership
- DB connection → MongoDB: connects
- User records → MongoDB: persists records
- Project records → MongoDB: persists records
- Ticket records → MongoDB: persists records