React | Node.js | Express | MongoDB | Java | Data Structures
A full-stack issue tracking system that dynamically ranks issues using a custom priority engine based on severity, frequency, and user impact.
Designed to simulate real-world production bug triaging and task prioritization workflows used by engineering teams.
- ⚡ Priority-based issue ranking using weighted scoring logic
- 🧠 Custom priority engine using Java heap & comparator concepts
- 🔄 Automatic re-prioritization when issues are reported multiple times
- 📊 RESTful API with MongoDB for fast issue retrieval
- 🎨 Premium React UI with clean issue cards
- 🔗 End-to-end frontend ↔ backend integration
- 📈 Strong focus on system design and algorithmic thinking
User interacts with React UI
⬇
Frontend sends REST API request
⬇
Node.js + Express backend processes issue data
⬇
Priority score is calculated using weighted logic
⬇
Issues are stored and sorted in MongoDB by priority score
⬇
Ranked issues are rendered back in the UI
- React.js
- Axios
- CSS
- Node.js
- Express.js
- MongoDB
- Mongoose
- Java
- Priority Queue
- Comparator Logic
- Heap-based ordering
- Git
- GitHub
- MongoDB Compass
- VS Code
Each issue is assigned a priority score using a weighted formula:
priorityScore = (severity × 5) + (frequency × 3) + (userImpact × 4)
- Severity reflects technical risk
- Frequency reflects urgency and recurrence
- User Impact reflects business importance
This mirrors real-world engineering decision-making systems.
root/
├── frontend/
│ └── React user interface
│
├── backend/
│ ├── models/Issue.js
│ ├── routes/issues.js
│ └── index.js
│
├── priority-engine-java/
│ ├── Issue.java
│ └── Main.java
│
└── README.md
git clone https://github.com/H-1709/issue-tracker.git
cd issue-tracker
Make sure MongoDB is running locally:
mongodb://127.0.0.1:27017/issue-tracker
You can verify using MongoDB Compass.
cd backend
npm install
npm start
Backend will run at:
http://localhost:5000
Open a new terminal:
cd frontend
npm install
npm run dev
Frontend will run at:
http://localhost:5173
cd priority-engine-java
javac Main.java
java Main
Used to demonstrate heap-based priority calculation logic.
-
POST /issues
Create a new issue and calculate priority score -
GET /issues
Fetch all issues sorted by priority score -
PATCH /issues/:id/report
Increment issue frequency and re-calculate priority -
PATCH /issues/:id/status
Update issue status
- title: String
- description: String
- severity: Number
- frequency: Number
- userImpact: Number
- priorityScore: Number
- status: String
- timestamps
- Built a full-stack issue tracking system using React, Node.js, and MongoDB
- Designed a custom priority engine using Java heap and comparator logic
- Implemented dynamic issue ranking based on severity, frequency, and user impact
- Applied sorted queries and efficient data modeling for fast issue retrieval
- Simulated real-world bug triaging workflows used in production systems
- Deep understanding of priority queues and weighted scoring systems
- Hands-on experience with REST API design and MongoDB schemas
- Clear separation of concerns between UI, API, and business logic
- Improved system design, debugging, and problem-solving skills
- Integrate Java Priority Engine directly with Node.js backend
- Add authentication and role-based access control
- Implement analytics dashboard for issue trends
- Containerize and deploy using Docker and cloud services