Skip to content

About

A Full Stack Web Issue Tracker Application made using Next.JS, mySQL, ShadCN-UI, and TailwindCSS

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Latest commit

 

History

171 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn

Issue Tracker

Track, triage and resolve project issues — a Next.js 16 issue tracker with an analytics dashboard, a Kanban board and an advanced data table.

View Demo »  ·  Report Bug  ·  Request Feature

Table of Contents
  1. About The Project
  2. Features
  3. Getting Started
  4. Usage
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

About The Project

Issue Tracker screenshot

Issue Tracker is an issue-tracking product, not a tutorial project: it ships an analytics dashboard, three switchable issue views, and a full issue-detail workflow on top of a Next.js 16 / React 19 App Router stack. It's built for a small team or a solo maintainer who wants Linear-style triage — filters, bulk actions, a Kanban board, saved views — without standing up a hosted tool. It's a production-shaped application, typed and tested throughout, rather than a tutorial CRUD demo.

Architecture diagram

(back to top)

Built With

Next React TypeScript Tailwind Node Prisma MySQL Vitest Vercel

(back to top)

Features

  • Analytics dashboard — four KPI cards, with sparklines and period-over-period deltas where the data supports them, six charts (status, priority, throughput, completion, ageing and workload), a Due This Week panel and a recent-activity feed.
  • Three issue views, switched with ?view=:
    • a TanStack Table data table with faceted filters, column visibility, multi-row selection and bulk actions including CSV export;
    • a dnd-kit Kanban board with optimistic status changes;
    • a mobile-first card list.
  • Issue detail — a two-column layout with in-place metadata editing, labels, due dates, comments, and a merged comment/activity timeline.
  • Notifications with a polled unread badge.
  • Saved views for reusable filter/sort combinations.
  • A ⌘K command palette and keyboard shortcuts with a help dialog.
  • Light/dark theming.
  • A Vitest suite covering the app's business logic and components.

(back to top)

Getting Started

Prerequisites

  • Node.js >=20.19.0
  • pnpm
  • Docker Desktop (for the bundled MySQL)
  • A Google OAuth client (for sign-in)

Installation

git clone https://github.com/omunite215/Project_Issue-Tracker.git
cd Project_Issue-Tracker
pnpm install

# Copy the example env and fill it in. MYSQL_ROOT_PASSWORD and the password
# inside DATABASE_URL must match — see the comments in .env.example.
cp .env.example .env

# MySQL 9.4 on host port 3307 (3306 is often already taken locally)
docker compose up -d

pnpm db:migrate
pnpm db:seed
pnpm dev

(back to top)

Usage

The dashboard at / and the issue list at /issues are readable without signing in; sign in to unlock creating and editing issues, commenting, notifications and saved views. Switch issue-list views with the ?view=table, ?view=board or ?view=list query parameter, or with the view switcher in the UI. Press ⌘K (or Ctrl+K) anywhere for the command palette, and ? to open the keyboard-shortcut help dialog. /settings holds theme and default-view preferences.

Script What it does
pnpm dev Start the dev server
pnpm build Build for production
pnpm start Start the production server
pnpm typecheck Run the TypeScript compiler with no emit
pnpm lint Run oxlint
pnpm test Run the Vitest suite
pnpm db:migrate Apply Prisma migrations in development
pnpm db:seed Seed the database
pnpm db:studio Open Prisma Studio
pnpm db:deploy Apply Prisma migrations in production

(back to top)

Roadmap

  • Auth.js v5
  • Additional OAuth providers
  • Real-time updates
  • File attachments
  • Email notifications
  • i18n
  • Role-based access control
  • Rate limiting
  • End-to-end tests

See the open issues for a full list of proposed features and known issues.

(back to top)

Contributing

Contributions make the open-source community a great place to learn and build. Any contributions you make are greatly appreciated.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a pull request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Om Patel

GitHub LinkedIn Instagram Portfolio Email

Project link: https://github.com/omunite215/Project_Issue-Tracker

(back to top)

Acknowledgments

(back to top)


Issue Tracker logo

Built by Om Patel

About

A Full Stack Web Issue Tracker Application made using Next.JS, mySQL, ShadCN-UI, and TailwindCSS

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages