Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

57 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ› BugTracker SaaS

Ship faster. Bug less.

Next.js React TypeScript Tailwind CSS Prisma Socket.IO


A modern, real-time bug tracking and issue management platform built with a microservices architecture. Designed for teams that move fast β€” collaborate, track progress, and ship with confidence.


Demo Video Β· Report Bug Β· Request Feature


BugTracker homepage preview
Watch Demo Video

Quick product walkthrough for managers, founders, and technical recruiters.



πŸ“‘ Index


πŸ–Ό Screenshots

Homepage Experience

BugTracker homepage

Dashboard β€” Track & Visualize Your Bugs

BugTracker dashboard with bug statistics and analytics

Real-time overview with total bug count, weekly trends, status distribution, and priority breakdown. Quick team insights and recent activity timeline.


Issues Management β€” Full Control Over Your Bugs

Issues page with advanced filtering and bulk operations

Searchable issue table with multi-select filters, bulk status/priority updates, export to CSV/PDF, and inline editing. Assign, manage status, and track everything.


Organization Settings β€” Configuration & Preferences

Settings page for organization management

Manage organization details, API keys, notification preferences, and system-wide configurations. Full control over your organization's environment.


Team Management & Permissions β€” Member Administration

Team management page with role-based permissions

Invite team members, assign roles (Admin/Developer/Viewer), manage permissions, and track team statistics. See member details and update permissions on the fly.


⚑ Highlights

πŸ” Full Authentication JWT + refresh tokens, OAuth (GitHub & Google), password reset, remember me

πŸ“‘ Real-Time Updates Socket.IO powered live notifications β€” bugs, comments, and team activity stream instantly

🏒 Multi-Organization Create & switch between organizations, invite members, role-based permissions (Admin / Developer / Viewer)

πŸ“Š Analytics Dashboard Status distribution, priority breakdown, assignee workload, recent activity timeline β€” all at a glance

πŸ” Advanced Filtering Multi-select status, priority, assignee, labels, date range β€” with saveable filter presets

⚑ Bulk Operations Select multiple issues β†’ batch update status, priority, or delete in one action

πŸ“Ž File Attachments Upload, download, and manage file attachments on any bug

πŸ“€ Export One-click export to CSV or PDF for reporting and audits


πŸ› οΈ Tech Stack

Layer Technologies
Frontend
Backend
Database
DevOps
Validation

πŸ— Architecture

                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β”‚         Next.js Frontend         β”‚
                         β”‚        (Port 3000 / Vercel)      β”‚
                         β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
                                β”‚          β”‚           β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”  β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”  β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ Auth Service β”‚  β”‚Bug Serviceβ”‚  β”‚Notification Svc β”‚
                    β”‚  (Port 5001) β”‚  β”‚(Port 5002)β”‚  β”‚  (Port 5003)    β”‚
                    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚                β”‚                  β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
                    β”‚     PostgreSQL (Port 5432)    β”‚    β”‚    Redis    β”‚
                    β”‚        Prisma ORM             β”‚    β”‚ (Port 6379) β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Service Port Responsibility
Auth Service 5001 Registration, login, JWT + refresh tokens, OAuth (GitHub & Google), password reset
Bug Service 5002 Bug CRUD, search, labels, comments, attachments, exports, bulk operations, statistics
Notification Service 5003 Socket.IO WebSocket server β€” real-time broadcasts scoped per organization

✨ Features

πŸ” Authentication & Security

Feature Description
Email + Password Register & login with validated credentials
OAuth One-click sign in with GitHub or Google
JWT + Refresh Tokens Automatic token refresh via Axios interceptors
Remember Me Persistent sessions for returning users
Password Reset "Forgot Password" flow with email reset link
Password Strength Meter Visual 3-segment strength bar on signup

πŸ› Issue Management

Feature Description
Full CRUD Create, view, edit, and delete bugs with detailed modals
Status Workflow Open β†’ In Progress β†’ In Review β†’ Closed
Priority Levels Low Β· Medium Β· High Β· Critical β€” color-coded throughout
Assignees Assign bugs to team members with avatar display
Comments Threaded comment system on each bug
File Attachments Upload, download, and delete files per bug
Labels Color-coded labels β€” create, edit, assign to bugs
Search Instant search by title or bug ID
Advanced Filters Multi-select status, priority, assignee, labels, date range
Saved Filters Save & load custom filter presets
Bulk Operations Select multiple β†’ batch update status, priority, or delete
Export Download issues as CSV or PDF

πŸ“Š Dashboard & Analytics

Feature Description
Overview Cards Total bugs, new this week, closed this week, open bugs
Status Distribution Animated progress bars β€” visual breakdown by status
Priority Breakdown Card grid showing counts per priority level
Assignee Workload Top 5 assignees ranked by bug count with avatars
Recent Activity Timeline of latest bug actions β€” clickable links

πŸ‘₯ Team Management

Feature Description
Member Directory Card grid with avatars, roles, join dates
Invite Members Send invitations to join your organization
Role Management Assign roles: Admin / Developer / Viewer
Remove Members Remove users with confirmation prompt
Team Stats Total members, admins, bugs resolved, issues assigned

🏒 Organizations

Feature Description
Multi-Org Support Create and switch between organizations
Org Settings Edit name, description, manage configuration
API Key Management Create, copy, and delete API keys per org
Notification Preferences Toggle email & real-time notification settings

πŸ‘€ User Profile

Feature Description
Profile Editor Edit first name, last name, email
Change Password Current + new + confirm password flow
Member Since Account creation date display

πŸ“‘ Real-Time

Feature Description
Live Bug Updates Instant toast + auto-refresh when bugs are created/updated/deleted
Live Comments Comment threads update in real-time across all clients
Org-Scoped Broadcasts Updates are scoped to your active organization

πŸ—Ί Pages & Routes

Route Page Description
/ Landing Page Hero section, feature grid, CTA, footer
/auth/login Login Email/password + OAuth + remember me
/auth/signup Signup Registration with password strength meter
/auth/forgot-password Forgot Password Email-based password reset flow
/auth/callback OAuth Callback Handles GitHub/Google OAuth redirect
/dashboard Dashboard Stats cards, charts, priority breakdown, activity feed
/dashboard/issues Issues Table view, search, filters, bulk actions, CRUD modals
/dashboard/team Team Member cards, invite, role management
/dashboard/labels Labels Color-coded label CRUD
/dashboard/settings Settings Org settings, notifications, API keys
/dashboard/profile Profile Personal info editor, password change

πŸš€ Getting Started

Prerequisites

Tool Version Required
Node.js 18+ βœ…
pnpm Latest βœ… (recommended)
Docker & Docker Compose Latest βœ…
PostgreSQL 16+ βœ… (or via Docker)
Redis 7.2+ βœ… (or via Docker)

Quick Start

# 1. Clone the repository
git clone https://github.com/Git-brintsi20/Bug-tracker-SaaS.git
cd Bug-tracker-SaaS

# 2. Install frontend dependencies
pnpm install

# 3. Set up environment variables (see below)

# 4. Start all services with Docker
docker-compose up -d

# 5. Run database migrations
npx prisma generate
npx prisma migrate deploy

# 6. Start the frontend
pnpm dev

Open http://localhost:3000 and you're all set! πŸŽ‰

Environment Variables

πŸ“‹ Click to expand β€” All .env configurations

services/auth-service/.env

PORT=5001
DATABASE_URL="postgresql://postgres:postgres@postgres:5432/bugtracker"
JWT_SECRET=your-jwt-secret-here
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret

services/bug-service/.env

PORT=5002
DATABASE_URL="postgresql://postgres:postgres@postgres:5432/bugtracker"
REDIS_URL=redis://redis:6379
JWT_SECRET=your-jwt-secret-here

services/notification-service/.env

PORT=5003
REDIS_URL=redis://redis:6379
JWT_SECRET=your-jwt-secret-here

Root .env.local

NEXT_PUBLIC_API_URL=http://localhost:5001/api
NEXT_PUBLIC_BUG_API_URL=http://localhost:5002/api
NEXT_PUBLIC_WS_URL=http://localhost:5003

Running Without Docker

πŸ“‹ Click to expand β€” Manual setup
  1. Start PostgreSQL and Redis manually
  2. Update .env files to use localhost:
    • DATABASE_URL="postgresql://postgres:postgres@localhost:5432/bugtracker"
    • REDIS_URL=redis://localhost:6379
  3. Start each service in separate terminals:
# Terminal 1 β€” Auth Service
cd services/auth-service && npm install && npm run dev

# Terminal 2 β€” Bug Service
cd services/bug-service && npm install && npm run dev

# Terminal 3 β€” Notification Service
cd services/notification-service && npm install && npm run dev

# Terminal 4 β€” Frontend
pnpm dev

OAuth Setup

πŸ”‘ GitHub OAuth
  1. Go to GitHub Settings β†’ Developer settings β†’ OAuth Apps
  2. Create a new OAuth App
  3. Set callback URL: http://localhost:5001/api/auth/github/callback
  4. Copy Client ID & Secret to services/auth-service/.env
πŸ”‘ Google OAuth
  1. Go to Google Cloud Console β†’ APIs & Services β†’ Credentials
  2. Create OAuth 2.0 credentials
  3. Set redirect URI: http://localhost:5001/api/auth/google/callback
  4. Copy Client ID & Secret to services/auth-service/.env

πŸ“ API Reference

πŸ” Auth Service β€” Port 5001
Method Endpoint Description
POST /api/auth/register User registration
POST /api/auth/login User login β†’ JWT + refresh token
POST /api/auth/refresh Refresh access token
POST /api/auth/logout Invalidate session
GET /api/auth/me Get current user
GET /api/auth/github Initiate GitHub OAuth
GET /api/auth/google Initiate Google OAuth
πŸ› Bug Service β€” Port 5002
Method Endpoint Description
GET /api/bugs List all bugs (with filters)
POST /api/bugs Create a bug
GET /api/bugs/:id Get bug details
PUT /api/bugs/:id Update a bug
DELETE /api/bugs/:id Delete a bug
GET /api/bugs/search Search bugs
GET /api/bugs/statistics Bug statistics per org
POST /api/bugs/:id/comments Add comment
DELETE /api/bugs/:id/comments/:cid Delete comment
POST /api/bugs/:id/attachments Upload attachment
GET /api/bugs/:id/attachments/:aid Download attachment
DELETE /api/bugs/:id/attachments/:aid Delete attachment
POST /api/bugs/bulk/status Bulk update status
POST /api/bugs/bulk/priority Bulk update priority
POST /api/bugs/bulk/delete Bulk delete
GET /api/bugs/export/csv Export as CSV
GET /api/bugs/export/pdf Export as PDF

Labels & Organizations β€” see full API in codebase at lib/api.ts

πŸ“‘ Notification Service β€” Port 5003

WebSocket events (Socket.IO):

Event Direction Description
bug:created Server β†’ Client New bug created in org
bug:updated Server β†’ Client Bug was modified
bug:deleted Server β†’ Client Bug was deleted
comment:added Server β†’ Client New comment on a bug
comment:deleted Server β†’ Client Comment removed

πŸ“ Project Structure

Bug-tracker-SaaS/
β”‚
β”œβ”€β”€ πŸ“‚ app/                          # Next.js App Router
β”‚   β”œβ”€β”€ πŸ“‚ auth/                     # Authentication pages
β”‚   β”‚   β”œβ”€β”€ login/                   #   Login form + OAuth
β”‚   β”‚   β”œβ”€β”€ signup/                  #   Registration + strength meter
β”‚   β”‚   β”œβ”€β”€ forgot-password/         #   Password reset request
β”‚   β”‚   └── callback/               #   OAuth redirect handler
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“‚ dashboard/               # Protected routes
β”‚   β”‚   β”œβ”€β”€ issues/                  #   Issue management
β”‚   β”‚   β”œβ”€β”€ team/                    #   Team member management
β”‚   β”‚   β”œβ”€β”€ labels/                  #   Label CRUD
β”‚   β”‚   β”œβ”€β”€ settings/                #   Org settings & API keys
β”‚   β”‚   └── profile/                 #   User profile & password
β”‚   β”‚
β”‚   β”œβ”€β”€ layout.tsx                   # Root layout + providers
β”‚   β”œβ”€β”€ page.tsx                     # Landing page
β”‚   └── globals.css                  # Global styles
β”‚
β”œβ”€β”€ πŸ“‚ components/                   # React components
β”‚   β”œβ”€β”€ πŸ“‚ auth/                     #   Auth cards & forms
β”‚   β”œβ”€β”€ πŸ“‚ ui/                       #   shadcn/ui library (50+ components)
β”‚   β”œβ”€β”€ bug-detail-modal.tsx         #   Bug detail with tabs
β”‚   β”œβ”€β”€ create-bug-modal.tsx         #   New bug form
β”‚   β”œβ”€β”€ edit-bug-modal.tsx           #   Edit bug form
β”‚   β”œβ”€β”€ issue-table.tsx              #   Issues data table
β”‚   β”œβ”€β”€ advanced-filters.tsx         #   Filter modal with save/load
β”‚   β”œβ”€β”€ sidebar.tsx                  #   Dashboard navigation
β”‚   β”œβ”€β”€ navbar.tsx                   #   Landing page navbar
β”‚   └── ...                          #   Other components
β”‚
β”œβ”€β”€ πŸ“‚ hooks/                        # Custom React hooks
β”‚   β”œβ”€β”€ useSocket.ts                 #   Socket.IO connection
β”‚   └── use-toast.ts                 #   Toast notifications
β”‚
β”œβ”€β”€ πŸ“‚ lib/                          # Utilities
β”‚   β”œβ”€β”€ api.ts                       #   Axios client + all API calls
β”‚   └── utils.ts                     #   Helper functions
β”‚
β”œβ”€β”€ πŸ“‚ services/                     # Backend microservices
β”‚   β”œβ”€β”€ auth-service/                #   JWT auth + OAuth
β”‚   β”œβ”€β”€ bug-service/                 #   Bug management + Redis cache
β”‚   └── notification-service/        #   Socket.IO real-time
β”‚
β”œβ”€β”€ πŸ“‚ prisma/                       # Database
β”‚   β”œβ”€β”€ schema.prisma                #   Data model
β”‚   └── migrations/                  #   Migration history
β”‚
β”œβ”€β”€ docker-compose.yml               # Full stack orchestration
β”œβ”€β”€ package.json                     # Frontend dependencies
└── tsconfig.json                    # TypeScript config

🐳 Docker Commands

docker-compose up -d              # Start everything
docker-compose up -d --build      # Rebuild & start
docker-compose logs -f [service]  # Tail logs
docker-compose down               # Stop all
docker-compose down -v            # Stop + wipe volumes

πŸ›£ Roadmap

βœ… Completed

  • JWT authentication with refresh tokens
  • OAuth (GitHub + Google)
  • Full bug CRUD with detail modals
  • Real-time updates via Socket.IO
  • Multi-organization support
  • Team management with roles
  • Advanced filtering with saved presets
  • Bulk operations (status, priority, delete)
  • Comments & attachments
  • Labels system
  • CSV & PDF export
  • Dashboard analytics
  • Responsive design

πŸ”„ In Progress

  • Production deployment (Vercel + Railway)
  • Email notification system (SMTP)
  • Kanban board view (components ready)

πŸ“‹ Planned

  • Two-factor authentication (2FA)
  • API rate limiting
  • Automated test suite
  • Activity audit log
  • Webhook integrations
  • Dark/Light theme toggle

🀝 Contributing

Contributions, issues, and feature requests are welcome!

# 1. Fork the repo
# 2. Create your branch
git checkout -b feature/amazing-feature

# 3. Commit your changes
git commit -m "feat: add amazing feature"

# 4. Push to the branch
git push origin feature/amazing-feature

# 5. Open a Pull Request

πŸ“„ License

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


πŸ“¬ Contact

Built with ❀️ by @Git-brintsi20

GitHub Repository


⭐ Star this repo if you find it helpful!

About

A production-ready, multi-tenant Bug Tracking SaaS built with Microservices. Features real-time collaboration, enterprise RBAC security, and intelligent Redis caching. (Next.js 14, TypeScript, Docker, PostgreSQL).

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages