BugTracker – Tuple Space–Based Issue Tracking System
Description BugTracker is a school project developed as part of a Computer Science course to demonstrate tuple space coordination, concurrent data access, and basic backend system design using Python and Flask. The application implements a lightweight bug tracking system where multiple roles interact with a shared tuple space instead of a traditional database.
Technologies Python Flask HTML (Jinja2 templates) Threading (Locks)
Core Concept This project uses a Linda-style tuple space as an in-memory shared coordination mechanism. Each bug is stored as a tuple: (id, title, priority, status, assigned_to)
Tuple space operations: out() – insert tuple rd() – read tuple (non-destructive) inp() – read and remove tuple Thread safety is ensured using Python locks.
Features Product Owner can create and view bugs Developers can pick unassigned bugs and resolve them Role-based interaction through Flask routes Thread-safe shared memory access
Project Structure BUGTRACKER/ ├── app.py ├── tuple_space.py ├── templates/ └── README.md
How to Run pip install flask python app.py
Access: /po – Product Owner view /dev – Developer view
Academic Context This project was developed for educational purposes as part of a university coursework assignment, focusing on: Distributed systems concepts Concurrency control Backend application design
Future Improvements
- Persist tuple space using a database
- Add authentication and role-based access
- Extend tuple matching logic