A modern and scalable Issue Tracker Application built using the MERN Stack project. This application demonstrates real-world software engineering practices including authentication, CRUD operations, REST APIs, analytics dashboards, protected routes, filtering, responsive UI, and scalable folder architecture.
Designed with a clean and professional UI using React, TypeScript, Tailwind CSS, and Framer Motion.
โ Full Stack MERN Architecture โ JWT Authentication & Protected Routes โ Complete CRUD Functionality โ Analytics Dashboard โ Search, Filter & Pagination โ Responsive Modern UI โ Dark / Light Theme Support โ Reusable Component Architecture โ Production-Level Folder Structure
This project was developed as part of a technical interview assignment.
- Create Issues
- Read/View Issues
- Update Issues
- Delete Issues
- Authentication System
- REST API Integration
- MongoDB Database Integration
- Issue Status Tracking
- Search & Filtering
- User Registration & Login
- JWT-based Authentication
- Password Hashing using bcrypt
- Protected API Routes
- Persistent User Sessions
Users can:
-
Create new issues
-
Edit issue details
-
Delete issues with confirmation
-
Update issue statuses
-
Search issues by keywords
-
Filter issues by:
- Status
- Priority
- Severity
-
Paginate issue lists
- Open
- In Progress
- Resolved
- Closed
The dashboard provides a visual overview of project issues.
- Total Issues Count
- Open Issues Count
- Resolved Issues Count
- Priority Distribution
- Status Summary Cards
- Visual Analytics Components
Overview of issue statistics and analytics.
Manage and track all issues efficiently.
Visual representation of issue trends and distributions.
Application preferences and configurations.
Displays authenticated user information.
- Fully Responsive Design
- Modern Dashboard Layout
- Smooth Page Animations using Framer Motion
- Clean Sidebar Navigation
- Reusable UI Components
- Dark / Light Theme Toggle
- User-Friendly Experience
๐ The notification system UI has been implemented, but real-time backend integration is still pending. Planned implementation will use Socket.io for real-time notifications.
- React.js (Vite)
- TypeScript
- Tailwind CSS
- Axios
- React Router DOM
- Framer Motion
- Node.js
- Express.js
- JWT Authentication
- bcrypt.js
- MongoDB
- Mongoose ODM
issue-tracker/
โ
โโโ backend/
โ โโโ controllers/
โ โโโ middleware/
โ โโโ models/
โ โโโ routes/
โ โโโ utils/
โ โโโ server.js
โ
โโโ frontend/
โ โโโ src/
โ โ โโโ api/
โ โ โโโ components/
โ โ โโโ context/
โ โ โโโ hooks/
โ โ โโโ pages/
โ โ โโโ utils/
โ โ โโโ App.tsx
โ
โโโ screenshots/
โโโ README.md
โโโ package.jsongit clone https://github.com/DiluTharushika/issue-tracker.git
cd issue-trackercd backend
npm installCreate a .env file inside the backend folder:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_keynpm run devcd frontend
npm installnpm run devThe application supports:
- Export Issues as CSV
- Export Issues as JSON
- JWT Authentication
- Password Hashing using bcrypt
- Protected API Routes
- Input Validation
- Secure Environment Variables
- ๐ Real-time Notifications (Socket.io)
- ๐ฌ Comments & Discussion System
- ๐ File Upload Support
- ๐งโ๐ผ Role-Based Access Control (RBAC)
- ๐ Advanced Analytics Dashboard
- ๐ฑ Mobile Application Version
- ๐ง Email Notifications
RESTful APIs implemented for:
- Authentication
- User Management
- Issue Management
- Dashboard Analytics
Frontend and backend can be deployed using:
- Vercel
- Netlify
- Render
- Railway
- MongoDB Atlas
- GitHub: DiluTharushika GitHub
- LinkedIn: LinkedIn Profile
This project was created for educational and interview assignment purposes.