Bug tracking Single Page Application inspired by Trello
A comprehensive bug tracking system built for Web Systems Engineering course, featuring a modern client-server architecture with distinct conversation patterns.
IssueNet is a web-based bug tracking application that provides an intuitive Kanban-style interface for managing projects, issues, and team collaboration.
- Frontend: Angular 17+ with TypeScript, HTML5, CSS3
- Backend: Express.js with JavaScript
- Database: MySQL with custom schema
- Architecture: Client-Server with 4 distinct conversations
IssueNet/
├── backend/ # Express.js API server
│ ├── config/ # Database and app configuration
│ ├── models/ # Data models and schemas
│ ├── routes/ # API route handlers
│ ├── middleware/ # Custom middleware
│ ├── controllers/ # Business logic
│ └── server.js # Main server file
├── frontend/ # Angular application
│ ├── src/
│ │ ├── app/ # Angular components and services
│ │ ├── assets/ # Static assets
│ │ └── environments/ # Environment configurations
│ ├── angular.json # Angular CLI configuration
│ └── package.json # Frontend dependencies
├── docs/ # Project documentation
│ ├── api/ # API documentation
│ ├── database/ # Database schema docs
│ └── architecture/ # System architecture docs
├── scripts/ # Build and deployment scripts
└── package.json # Root workspace configuration
- ✨ Create, view, edit, delete projects
- 📊 Project overview and statistics
- 👥 Team member assignment
- 🏷 Project categorization and tags
- 🐛 Create and manage issues with detailed information
- 📋 Kanban board visualization (To Do, In Progress, Testing, Done)
- 🔥 Priority levels (Low, Medium, High, Critical)
- 👤 Assignee management
- 📝 Comments and updates tracking
- 🔐 User registration and login
- 🎫 JWT-based session management
- 👨💼 Role-based access control (Admin, Project Manager, Developer, Tester)
- 🔒 Protected routes and API endpoints
- 📈 Project metrics and KPIs
- 📊 Visual charts and graphs
- 📅 Timeline and progress tracking
- 📋 Custom reports generation
- Node.js (v18 or higher)
- npm or yarn
- MySQL 8.0+
- Angular CLI (
npm install -g @angular/cli
)
cd backend
npm install
cp .env.example .env # Configure your environment variables
npm run dev
cd frontend
npm install
ng serve
# Create MySQL database
mysql -u root -p
CREATE DATABASE issuenet;
# Run migrations (to be implemented)
cd backend
npm run migrate
- Feature Development: Create feature branches from
develop
- API First: Design API endpoints before frontend implementation
- Testing: Write tests for both backend and frontend
- Code Review: All changes require pull request review
- Documentation: Update docs with any API or feature changes
GET /api/projects
- List all projectsPOST /api/projects
- Create new projectGET /api/projects/:id
- Get project detailsPUT /api/projects/:id
- Update projectDELETE /api/projects/:id
- Delete project
GET /api/issues
- List issues with filtersPOST /api/issues
- Create new issueGET /api/issues/:id
- Get issue detailsPUT /api/issues/:id
- Update issueDELETE /api/issues/:id
- Delete issue
POST /api/auth/register
- User registrationPOST /api/auth/login
- User loginPOST /api/auth/logout
- User logoutGET /api/auth/me
- Get current user
GET /api/analytics/projects/:id
- Project statisticsGET /api/analytics/dashboard
- Dashboard metrics
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is developed for educational purposes as part of a Web Systems Engineering course.
- PrevZ - Project Lead & Full Stack Developer
Course: Web Systems Engineering
Institution: Univerità degli Studi di Ferrara
Academic Year: 2024/2025