How xuanquang1301/mini-jira-project works
Mini Jira is a web-and-mobile Agile project and task manager backed by an Express API and PostgreSQL. The main workflow is to manage projects and membership, create and assign tasks, move them through Kanban states, and track progress; users can also discuss tasks and receive notifications. Web pages use a shared API client, while the mobile app excerpt only checks server connectivity. The README documents additional timeline and admin capabilities; their exact internal wiring is not shown in the sampled source.
Main entry points: db/index.ts Database access · routes/index.ts API routes · project.service.ts Project service · task.service.ts Task service
Components 19
Client apps
- Web workspace
apps/web/src/App.tsx - Mobile status app
apps/mobile/App.tsx - Web API client
apps/web/src/services/api.ts
API layer
- API server
apps/server/src/index.ts - API routes
apps/server/src/routes/index.ts - Auth middleware
apps/server/src/middlewares/auth.middleware.ts - Project controller
apps/server/src/controllers/project.controller.ts - Task controller
apps/server/src/controllers/task.controller.ts - User controller
apps/server/src/controllers/user.controller.ts
Project and task domain
- Project service
apps/server/src/services/project.service.ts - Task service
apps/server/src/services/task.service.ts - Account service
apps/server/src/services/user.service.ts - Comments service
apps/server/src/services/comment.service.ts - Subtasks service
apps/server/src/services/subtask.service.ts - Notification service
apps/server/src/services/notification.service.ts
Persistence and events
- Database access
apps/server/src/db/index.ts - Domain tables
apps/server/src/db/schema.ts
Other components
- Project user
- PostgreSQL
Connections 21
- Project user → Web workspace: uses
- Web workspace → Web API client: requests data
- Mobile status app → API server: checks connectivity
- Web API client → API server: HTTP requests
- API server → API routes: dispatches
- API routes → Auth middleware: protects routes
- API routes → Project controller: dispatches
- API routes → Task controller: dispatches
- API routes → User controller: dispatches
- Project controller → Project service: calls
- Task controller → Task service: calls
- User controller → Account service: calls
- Project service → Database access: queries
- Task service → Database access: queries
- Account service → Database access: queries
- Comments service → Database access: queries
- Subtasks service → Database access: queries
- Database access → Domain tables: uses tables
- Database access → PostgreSQL: reads and writes
- Project service → Notification service: creates notifications
- Task service → Notification service: creates notifications