A full-stack project management platform for teams that need clarity, speed, and visibility.
TASKI helps teams organize projects, assign tasks, monitor progress, track deadlines, and coordinate work through a modern dashboard, kanban board, calendar view, and secure authentication flow.
TASKI is built as a full-stack workspace for managing team execution from planning to delivery. It combines:
- project tracking
- task assignment and updates
- progress and status monitoring
- deadline visualization
- role-aware authentication
- a dark, modern UI focused on productivity
The application is split into:
frontend/: Next.js app with React, Tailwind CSS, NextAuth, and rich UI pagesbackend/: NestJS GraphQL API with Prisma and PostgreSQL
- Summarizes projects and task activity
- Surfaces progress and operational visibility
- Lists all projects with status, progress, and dates
- Supports creating projects directly from the UI
- Persists project data to PostgreSQL through GraphQL mutations
- Kanban-style drag-and-drop board
- Supports creating tasks from the UI
- Updates task status directly in the database
- Displays project deadlines by month
- Uses status-aware styling for project items
- Credentials-based login
- JWT-backed authorization
- NextAuth on the frontend, NestJS auth flow on the backend
flowchart LR
U[User] --> F[Next.js Frontend]
F --> A[NextAuth]
F --> G[GraphQL API]
G --> N[NestJS Backend]
N --> P[Prisma ORM]
P --> D[(PostgreSQL)]
erDiagram
USER ||--o{ PROJECT : creates
USER ||--o{ TASK : assigned_to
USER ||--o{ TASK : created_by
PROJECT ||--o{ TASK : contains
USER {
string id
string name
string email
string role
string job
}
PROJECT {
string id
string name
string description
datetime start_date
datetime end_date
string progress
string status
string created_by
}
TASK {
string id
string title
string description
string status
boolean isCompleted
datetime dueDate
string Priority
string projectId
string assignedToId
string createdById
}
Next.js 15React 19TypeScriptTailwind CSSNextAuthApollo ClientTanStack React Querydnd-kitFullCalendarReact Icons
NestJS 11GraphQLwith Apollo driverPrisma ORMPostgreSQLJWT authenticationPassportbcrypt
TypeScriptESLintPrettierJestts-node
TASKI/
├── frontend/
│ ├── app/
│ │ ├── api/auth/[...nextauth]/
│ │ ├── calendar/
│ │ ├── dashboard/
│ │ ├── deadlines/
│ │ ├── login/
│ │ ├── projects/
│ │ ├── settings/
│ │ └── tasks/
│ ├── components/
│ ├── public/
│ └── src/
├── backend/
│ ├── prisma/
│ ├── src/
│ │ ├── auth/
│ │ ├── prisma/
│ │ ├── projects/
│ │ ├── tasks/
│ │ └── users/
│ └── test/
└── README.md
- Create projects from the frontend UI
- Store project metadata in PostgreSQL
- Track start date, end date, progress, and project health status
- Create tasks and assign them to users
- Attach tasks to specific projects
- Move tasks between workflow columns
- Sync task status changes with the backend
- Backend recalculates project progress based on completed tasks
- Project state reflects delivery risk and overall status
- Visual monthly deadline planning
- Status-based project markers for faster scanning
- Login through credentials
- JWT token issued by backend
- Token passed from NextAuth session to protected GraphQL mutations
- Validates users
- Issues JWT access tokens
- Supports login mutation
- Exposes user information to the frontend
- Supports settings and profile-related flows
- Handles project queries and mutations
- Persists project creation and updates
- Handles task queries and mutations
- Updates workflow state and project-linked progress
- Centralizes database access
- Connects NestJS services with PostgreSQL
The frontend is designed around productivity views:
Dashboard: high-level overviewProjects: structured project list with creation flowTasks: drag-and-drop kanban boardCalendar: deadline planningSettings: user profile and account managementLogin: branded authentication entry point
The app uses a dark visual language with blue-indigo accents to keep the interface consistent across pages.
Create frontend/.env.local:
NEXT_PUBLIC_BACKEND_URL=http://localhost:4000/graphql
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secretCreate backend/.env:
DATABASE_URL=postgresql://USER:PASSWORD@localhost:5432/taski
JWT_SECRET=your_jwt_secretgit clone <your-repository-url>
cd TASKIcd frontend
npm installcd backend
npm install- add
frontend/.env.local - add
backend/.env
cd backend
npx prisma migrate deployFor local development, you can also use:
npx prisma migrate devcd backend
npm run seedcd backend
npm run start:devThe GraphQL API runs on:
http://localhost:4000/graphql
cd frontend
npm run devThe frontend runs on:
http://localhost:3000
npm run dev
npm run build
npm run startnpm run start:dev
npm run build
npm run test
npm run test:e2e
npm run seedThe backend exposes a GraphQL API with queries and mutations such as:
loginprojectscreateProjecttaskscreateTaskupdateTaskusers
GraphQL schema is generated to:
backend/src/schema.gql
The PostgreSQL schema is managed through Prisma and currently includes:
UserProjectTask
Key relationships:
- one user can create many projects
- one project can contain many tasks
- one user can create many tasks
- one user can be assigned many tasks
- Dark-mode-inspired interface across primary pages
- Animated, branded login experience
- Responsive layouts for core management screens
- Drag-and-drop interactions for task movement
- Visual status indicators for projects and deadlines
- clear separation between frontend and backend
- GraphQL-based integration
- modern TypeScript stack
- practical domain model for team productivity
- already includes authentication, planning, workflow, and scheduling
- role-based permissions and admin controls
- notifications and reminders
- file attachments and project comments
- analytics and reporting
- audit log for task and project updates
- deployment guides for Vercel and cloud-hosted PostgreSQL
This repository contains both the product interface and the API layer, making it a strong portfolio-grade full-stack project for:
- software engineering showcases
- university capstone presentations
- team collaboration demos
- product management and workflow prototypes