{"id":19481616,"url":"https://github.com/cooper-gadd/bug-tracker","last_synced_at":"2026-04-04T21:32:36.284Z","repository":{"id":331142321,"uuid":"867260406","full_name":"cooper-gadd/bug-tracker","owner":"cooper-gadd","description":"🐛 Bug tracking system.","archived":false,"fork":false,"pushed_at":"2024-11-01T21:06:17.000Z","size":4941,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T16:19:03.485Z","etag":null,"topics":["bun","mysql","php","react","shadcn-ui","swr","tailwindcss","vite"],"latest_commit_sha":null,"homepage":"https://solace.ist.rit.edu/~ctg7866/ISTE341/bug-tracker/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cooper-gadd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-03T18:19:24.000Z","updated_at":"2025-11-13T17:02:29.000Z","dependencies_parsed_at":"2026-01-04T03:06:02.921Z","dependency_job_id":null,"html_url":"https://github.com/cooper-gadd/bug-tracker","commit_stats":null,"previous_names":["cooper-gadd/bug-tracker"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/cooper-gadd/bug-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper-gadd%2Fbug-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper-gadd%2Fbug-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper-gadd%2Fbug-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper-gadd%2Fbug-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cooper-gadd","download_url":"https://codeload.github.com/cooper-gadd/bug-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cooper-gadd%2Fbug-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31415110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bun","mysql","php","react","shadcn-ui","swr","tailwindcss","vite"],"created_at":"2024-11-10T20:05:51.340Z","updated_at":"2026-04-04T21:32:36.258Z","avatar_url":"https://github.com/cooper-gadd.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bug Tracking System\n\n## Table of Contents\n- [Project Overview](#project-overview)\n- [Demo](#demo)\n  - [Bugs Dashboard](#bugs-dashboard)\n  - [Filtering](#filtering)\n  - [Actions](#actions)\n  - [New Bug](#new-bug)\n  - [Projects Dashboard](#projects-dashboard)\n  - [New Project](#new-project)\n  - [Users Dashboard](#users-dashboard)\n  - [New User](#new-user)\n  - [Delete User](#delete-user)\n- [Key Features](#key-features)\n- [Test Users](#test-users)\n- [System Architecture Diagram](#system-architecture-diagram)\n- [Technical Stack](#technical-stack)\n- [Libraries and Tools](#libraries-and-tools)\n- [API Endpoints](#api-endpoints)\n- [User Roles and Permissions](#user-roles-and-permissions)\n- [Security Measures](#security-measures)\n- [Code Structure](#code-structure)\n  - [Frontend](#frontend)\n  - [Backend](#backend)\n- [Development](#development)\n- [Deployment](#deployment)\n\n## Project Overview\nThis bug tracking system is developed for my Server Programming class, featuring a React frontend and PHP backend. It efficiently manages bugs across various projects with role-based access control.\n\n## Demo\n\n### Bugs Dashboard\n![Bugs Dashboard](./images/bugs-dashboard.png)\n\n### Filtering\n![Filtering](./images/filtering.png)\n\n### Actions\n![Actions](./images/actions.png)\n\n### New Bug\n![New Bug](./images/new-bug.png)\n\n### Projects Dashboard\n![Projects Dashboard](./images/projects-dashboard.png)\n\n### New Project\n![New Project](./images/new-project.png)\n\n### Users Dashboard\n![Users Dashboard](./images/users-dashboard.png)\n\n### New User\n![New User](./images/new-user.png)\n\n### Delete User\n![Delete User](./images/delete-user.png)\n\n## Key Features\n- Single Page Application (SPA) with React\n- RESTful API backend in PHP\n- User Authentication with sessions\n- Role-Based Access Control: Admin, Manager, and User roles\n- Bug Management: Create, update, and read operations for bugs\n- Project Management: Create and manage projects (Admin and Manager)\n- User Management: Add, update, and delete users (Admin only)\n- Data Visualization: Dynamic views of bugs by project, status, and due date\n- Security: Input validation, data sanitization, and password hashing\n\n## Test Users\n- **Admin**: Username: `sam@me.me`, Password: `me`\n- **Manager**: Username: `meg@me.me`, Password: `me`\n- **User**: Username: `steve@me.me`, Password: `me`\n\n## System Architecture Diagram\n\n```mermaid\ngraph LR\n    A[Web App] \u003c--\u003e B[API]\n    B \u003c--\u003e C[Controller]\n    C \u003c--\u003e D[(Database)]\n```\n\n## Technical Stack\n- Frontend: React\n- Backend: PHP\n- Database: MySQL\n- API: RESTful\n- Authentication: Sessions\n\n## Libraries and Tools\n- **Data Fetching**: [SWR](https://swr.vercel.app/)\n- **Library**: [React](https://reactjs.org/)\n- **Styling**: [Tailwind CSS](https://tailwindcss.com)\n- **Components**: [Shadcn](https://ui.shadcn.com/)\n- **Package Manager**: [Bun](https://bun.sh/)\n\n## API Endpoints\n- `/api/` - Initialize seed data\n- `/api/login` - User login\n- `/api/logout` - User logout\n- `/api/current-user` - Get current logged-in user\n- `/api/bugs` - Get all bugs\n- `/api/bug` - Create a new bug\n- `/api/bug/{id}` - Update a bug by ID\n- `/api/projects` - Get all projects\n- `/api/project` - Create a new project\n- `/api/roles` - Get all roles\n- `/api/priorities` - Get all priorities\n- `/api/assign` - Assign a bug to a user\n- `/api/close` - Close a bug with a fix description\n- `/api/users` - Get all users\n- `/api/users/project/{projectId}` - Get users by project ID\n- `/api/user/{id}` - Get a user by ID\n- `/api/user` - Create a new user\n- `/api/user/{id}` - Update a user by ID\n- `/api/user/delete/{id}` - Delete a user by ID (GET method due to server limitations)\n\n## User Roles and Permissions\n- **Admin**: Full system access\n- **Manager**: Project and bug management across all projects\n- **User**: Bug entry and management within assigned project\n\n## Security Measures\n- Session-based authentication\n- Password hashing using bcrypt\n- Parameterized queries to prevent SQL injection\n- Input validation on both frontend and backend\n\n## Code Structure\n\n### Frontend\n- Components: Reusable React components\n- Hooks: API communication services\n\n### Backend\n- Index: Entry point for API requests\n- Controllers: Handle API requests\n\n## Development\n- Frontend: Run `bun run dev` in the frontend directory\n- Backend: Ensure your PHP server is running and pointing to the backend directory\n\n## Deployment\n- Frontend: Build using `bun run build`, deploy the `build` folder\n- Backend: Deploy PHP files to a production PHP server\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcooper-gadd%2Fbug-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcooper-gadd%2Fbug-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcooper-gadd%2Fbug-tracker/lists"}