The problem
Every software team needs a place to record bugs — what broke, how bad it is, who is fixing it and whether it is fixed. Off-the-shelf trackers are overkill for a student team or a small dev shop, and ad-hoc spreadsheets lose history, accountability and workflow. This project builds a proper issue tracker from scratch with Laravel: server-rendered Blade views styled with Tailwind, an Eloquent data model (Project, Issue, Comment, Label, User) with migrations and seeders, role-based authorization through Laravel policies, and the queued mail system for assignment and status-change notifications. The kanban board visualizes the issue pipeline, while the issue detail page shows threaded discussion and a full activity log — who changed what, when. Because it is a real working web application with authentication, database persistence and a demo dataset, it demos strongly in a review and maps cleanly onto web-development viva questions about MVC, routing, ORM and authorization.
How it works
- Routes map URLs to controller actions (IssuesController, ProjectsController, CommentsController) following Laravel's MVC conventions; form requests validate every input.
- Eloquent models define the schema — projects, issues, comments, labels and users — with migrations for a clean install and seeders that generate a realistic demo dataset.
- The kanban board queries issues grouped by status; status transitions update the issue and append an entry to the activity log in the same transaction.
- Policies gate each action: a reporter cannot close another user's issue, a developer cannot manage team membership, and so on — all enforced server-side.
- Notifications fire on assignment, status change and @-mentions; they queue through Laravel's queue system and render as HTML emails via Blade mail templates.
- Blade components with Tailwind CSS render the UI; pagination, search scopes and eager loading keep issue lists fast on the demo dataset.
Tech stack:
- PHP 8.2, Laravel 11 (routing, Eloquent ORM, policies, queues, Mail)
- MySQL 8 (migrations + seeders with realistic demo data)
- Blade templates + Tailwind CSS (kanban board, issue detail, dashboard)
- Laravel Breeze authentication (login, registration, password reset)
- Vite asset pipeline
| Parameter | Value |
|---|---|
| Framework | Laravel 11 on PHP 8.2 |
| Database | MySQL 8; migrations + seeders included |
| Issue states | Open, In Progress, In Review, Resolved, Closed |
| Severity grades | Critical, Major, Minor, Trivial |
| Roles | Admin, Developer, Reporter (policy-enforced) |
| Notifications | Email via Laravel Mail; queue driver configurable (database queue ships) |
| Auth | Email/password with session auth (Breeze) |
| Deployment | Single-server: PHP 8.2 + MySQL 8 + Composer; artisan serve works for demos |
Project features
- [Issue lifecycle workflow] Every bug moves through Open → In Progress → In Review → Resolved → Closed, with transitions recorded in the activity log; reopening a closed issue is fully supported.
- [Kanban board] Issues render as cards in status columns, filterable by project, severity, priority, label and assignee — the visual pipeline view teams actually work from.
- [Bug reporting form] Reporters file issues with title, detailed description, reproduction steps, severity (Critical/Major/Minor/Trivial), priority and labels; validation is server-side via form requests.
- [Threaded comments & activity] Each issue has a discussion thread plus an automatic activity timeline (status changes, assignments, label edits) for a complete audit trail.
- [Teams & role-based access] Admin, developer and reporter roles enforced by Laravel policies — reporters can only file and comment on their own issues, developers can be assigned and transition issues, admins manage projects and users.
- [Search & filtering] Full-text search over issue titles and descriptions with label, severity, priority, status and assignee filters; per-project and global views.
- [Email notifications] Assignment, status-change and mention notifications sent through Laravel Mail with a queue worker; a log driver ships for demo environments.
- [Dashboard] Project overview cards with open-issue counts, severity breakdown and recent activity across all projects.
What is included
- Complete Laravel 11 application source (controllers, models, policies, Blade views, mail templates)
- Database migrations and seeders with a realistic demo dataset (projects, issues, users, comments)
- Project report PDF (system design, ER diagram, MVC mapping, workflow design, testing)
- PPT presentation for final review
- Viva Q&A preparation document (Laravel, MVC, Eloquent, policies, queues, auth)
- Setup guide (PHP, Composer, MySQL, .env, migrations, seeding, queue worker)
Limitations & prerequisites
- Email delivery needs an SMTP account (Mailtrap, Gmail or similar); without one, notifications use the log driver and no real mail is sent.
- Single-tenant design: one installation serves one organization — there is no multi-tenant billing or per-client isolation.
- The kanban board is server-rendered (page reloads on filter change); there is no real-time WebSocket collaboration.
- File attachments on issues store on local disk; cloud storage needs the S3 driver configured.
- The demo dataset is synthetic — realistic-looking but not real production bugs; the buyer seeds their own projects for live use.
Frequently Asked Questions
What does the app actually do?
It is a working issue tracker: users file bugs with severity and priority, assign them to developers, move them through a kanban workflow (Open → In Progress → In Review → Resolved → Closed), discuss them in comments, and get email notifications on changes — with roles controlling who can do what.
Which Laravel version and PHP are used?
Laravel 11 on PHP 8.2, with MySQL 8. The setup guide documents exact versions, Composer install, migrations and seeding step by step.
Is this a template or a real working app?
A real working app: authentication, database persistence, policies, queued emails and a seeded demo dataset are all implemented and exercised in the demo.
Can it track non-bug tasks too?
Yes — the issue model is generic (title, description, labels, status), so feature requests and tasks fit the same workflow; labels distinguish bug vs task.
What do I need to run it?
A machine with PHP 8.2, Composer and MySQL 8 (or a XAMPP-style stack); an SMTP account only if you want real email delivery instead of the log driver.
Is this project suitable for a final-year project?
Yes — for Computer Science, IT and Web Development programs. It demonstrates MVC web development, ORM modeling, authorization design, queued mail and a complete SDLC, all strong viva material. Suitable for B.E./B.Tech final-year projects in Computer Science, IT and Web Development.
Components & software requirements
- PHP 8.2, Laravel 11 (routing, Eloquent ORM, policies, queues, Mail)
- MySQL 8 (migrations + seeders with realistic demo data)
- Blade templates + Tailwind CSS (kanban board, issue detail, dashboard)
- Laravel Breeze authentication (login, registration, password reset)
- Vite asset pipeline
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.