How mshchebetiuk/devboard works
DevBoard is a project-and-task management dashboard. Its main workflow serves project and task lists with search, filters, sorting, and pagination; task data also feeds a Kanban board, while separate dashboard and analytics pages present summary metrics and charts. Server-side services query PostgreSQL through Prisma and map data to DTOs. The README documents CRUD, validation, responsive UI, and visualizations; several implementation files are indexed but not excerpted, so relationships involving those files are shown only where the index or README supports them.
Main entry points: tasks.ts Task service · projects/page.tsx Project workspace · tasks/page.tsx Task workspace · prisma.ts Prisma client
Components 30
Dashboard experience
- Dashboard metrics
src/app/(dashboard)/dashboard/page.tsx - Analytics view
src/app/(dashboard)/analytics/page.tsx - Analytics visualizations
src/components/analytics
Project and task management
- Project workspace
src/app/(dashboard)/projects/page.tsx - Project forms
src/components/projects - Task workspace
src/app/(dashboard)/tasks/page.tsx - Task forms and cards
src/components/tasks - Project actions
src/actions/projects.ts - Task actions
src/actions/tasks.ts - Filter utilities
src/lib/filters.ts - Filter options
src/constants/filters.ts - Pagination controls
src/components/ui/Pagination.tsx
Kanban workflow
- Kanban page
src/app/(dashboard)/kanban/page.tsx - Kanban board
src/components/kanban/KanbanBoard.tsx - Kanban task query
src/hooks/use-kanban-tasks.ts - Kanban API client
src/lib/api/kanban.ts - Kanban API route
src/app/api/kanban/route.ts
Services and persistence
- Kanban service
src/services/kanban.ts - Project service
src/services/projects.ts - Task service
src/services/tasks.ts - Dashboard service
src/services/dashboard.ts - Analytics service
src/services/analytics.ts - Prisma client
src/lib/prisma.ts - Project queries
src/lib/queries/projects.ts - Task queries
src/lib/queries/tasks.ts - Project mapper
src/lib/mappers/project.ts - Task mapper
src/lib/mappers/task.ts - Project and task DTOs
src/types/dto.ts
Other components
- Workspace user
- PostgreSQL
Connections 38
- Project workspace → Project service: loads projects
src/app/(dashboard)/projects/page.tsx - Project workspace → Filter utilities: parses filters
src/app/(dashboard)/projects/page.tsx - Project workspace → Filter options: uses page size
src/app/(dashboard)/projects/page.tsx - Project workspace → Project forms: renders forms
src/app/(dashboard)/projects/page.tsx - Project workspace → Pagination controls: renders pagination
src/app/(dashboard)/projects/page.tsx - Task workspace → Task service: loads tasks
src/app/(dashboard)/tasks/page.tsx - Task workspace → Filter utilities: parses filters
src/app/(dashboard)/tasks/page.tsx - Task workspace → Filter options: uses page size
src/app/(dashboard)/tasks/page.tsx - Task workspace → Task forms and cards: renders task UI
src/app/(dashboard)/tasks/page.tsx - Task workspace → Pagination controls: renders pagination
src/app/(dashboard)/tasks/page.tsx - Project service → Prisma client: queries database
src/services/projects.ts - Project service → Project queries: uses query helpers
src/services/projects.ts - Project service → Project mapper: maps results
src/services/projects.ts - Task service → Prisma client: queries database
src/services/tasks.ts - Task service → Task queries: builds query
src/services/tasks.ts - Task service → Task mapper: maps task results
src/services/tasks.ts - Task service → Project mapper: maps project options
src/services/tasks.ts - Task service → Project and task DTOs: returns DTO results
- Project service → Project and task DTOs: returns DTO results
- Project actions → Prisma client: uses client
src/actions/projects.ts - Project actions → Project forms: submitted by forms
- Task actions → Prisma client: uses client
src/actions/tasks.ts - Task actions → Task forms and cards: submitted by forms
- Dashboard metrics → Dashboard service: loads metrics
src/app/(dashboard)/dashboard/page.tsx - Analytics view → Analytics service: loads analytics
src/app/(dashboard)/analytics/page.tsx - Analytics view → Analytics visualizations: renders charts
src/app/(dashboard)/analytics/page.tsx - Kanban page → Kanban service: loads initial tasks
src/app/(dashboard)/kanban/page.tsx - Kanban page → Kanban board: renders board
src/app/(dashboard)/kanban/page.tsx - Kanban board → Kanban task query: queries tasks
src/components/kanban/KanbanBoard.tsx - Kanban task query → Kanban API client: fetches tasks
src/hooks/use-kanban-tasks.ts - Kanban API route → Kanban service: routes to service
src/app/api/kanban/route.ts - Kanban service → Prisma client: queries database
src/services/kanban.ts - Kanban service → Task mapper: maps tasks
src/services/kanban.ts - Prisma client → PostgreSQL: connects through adapter
README.md - Workspace user → Project workspace: manages projects
README.md - Workspace user → Task workspace: manages tasks
README.md - Workspace user → Kanban page: moves tasks
README.md - Workspace user → Analytics view: views analytics
README.md