Frontend application for CollabTrack — a Jira‑like project management system.
This project is built using modern frontend architecture with Next.js App Router, Tailwind CSS v4, and shadcn/ui, designed to integrate seamlessly with the CollabTrack Backend REST APIs.
CollabTrack is a collaborative project and task management platform that allows teams to:
- Create and manage projects
- Assign tasks and subtasks
- Track progress across teams
- Manage roles and permissions
- Collaborate efficiently like Jira
This repository contains the frontend application only.
| Category | Technology |
|---|---|
| Framework | Next.js 14+ (App Router) |
| Language | JavaScript (ES6+) |
| Styling | Tailwind CSS v4 |
| UI Components | shadcn/ui |
| State Management | Zustand (client state) |
| Server State | TanStack React Query |
| HTTP Client | Axios |
| Routing | Next.js App Router |
| Authentication | JWT (httpOnly cookies) |
| Deployment | Vercel (recommended) |
collabtrack-frontend/
├── src/
│ ├── app/
│ │ ├── (auth)/ # Public routes
│ │ │ ├── login/
│ │ │ └── register/
│ │ │
│ │ ├── (dashboard)/ # Protected routes
│ │ │ ├── dashboard/
│ │ │ ├── projects/
│ │ │ ├── tasks/
│ │ │ └── layout.js
│ │ │
│ │ └── layout.js
│ │
│ ├── components/
│ │ ├── layout/ # Sidebar, Navbar
│ │ └── ui/ # shadcn components
│ │
│ ├── lib/ # axios, utils, query client
│ ├── services/ # API services
│ ├── stores/ # Zustand stores
│ └── hooks/ # Custom React Query hooks
│
├── public/
├── components.json # shadcn config
├── tailwind.config.js
├── postcss.config.mjs
└── README.md
The frontend consumes REST APIs from the CollabTrack backend.
Backend URL:
https://collabtrack-api.onrender.com
Base API Path:
/api/v1
POST /api/v1/auth/login
GET /api/v1/projects
GET /api/v1/tasks/:projectId
- User logs in via backend API
- Backend sets httpOnly JWT cookies
- Frontend never stores tokens in localStorage
- Session is validated via
/auth/current-user - Protected routes handled using Next.js middleware
Login → Cookie Set → Middleware Check → Dashboard
Handled using TanStack React Query:
- Projects
- Tasks
- Subtasks
- Notes
- Members
Features:
- caching
- background refetch
- retries
- pagination
Handled using Zustand:
- authenticated user
- role
- sidebar open/close
- selected project
- utility‑first styling
- no component layer
- fast compilation
- accessible components
- fully customizable
- Tailwind‑based
- no runtime dependency
Components used:
- Button
- Card
- Input
- Table
- Dialog
- Dropdown Menu
- Toast
- Badge
- Summary cards
- Assigned tasks
- Project overview
- Role‑based visibility
npm installCreate .env.local:
NEXT_PUBLIC_API_URL=https://collabtrack-api.onrender.com/api/v1npm run devOpen:
http://localhost:3000
Recommended platform:
- Vercel (best with Next.js)
Steps:
- Push code to GitHub
- Import repository in Vercel
- Add environment variables
- Deploy
- Role‑based UI permissions
- Realtime updates (WebSockets)
- Drag & drop Kanban board
- File uploads
- Activity logs
- Notifications
- Dark mode
Arun Kumar Singh Frontend Engineer | Full‑Stack Developer
This project is for learning and portfolio purposes.
Happy coding 🚀