{"id":24261762,"url":"https://github.com/codecshekhar/bug-tracker-simple","last_synced_at":"2025-03-04T22:19:28.121Z","repository":{"id":272292531,"uuid":"916109348","full_name":"CodeCshekhar/Bug-Tracker-Simple","owner":"CodeCshekhar","description":"This repository contains Bug-Tracker concepts to illustrate its advantages","archived":false,"fork":false,"pushed_at":"2025-02-27T06:41:00.000Z","size":45,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-27T09:15:31.997Z","etag":null,"topics":["api","h2-database","hibernate-jpa","mysql","postman","tomcat-server"],"latest_commit_sha":null,"homepage":"https://bug-tracker-simple.vercel.app","language":"Java","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/CodeCshekhar.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}},"created_at":"2025-01-13T13:27:51.000Z","updated_at":"2025-02-27T06:41:03.000Z","dependencies_parsed_at":"2025-02-27T07:54:54.777Z","dependency_job_id":"a921be5c-29a6-476e-8410-aec2c7329019","html_url":"https://github.com/CodeCshekhar/Bug-Tracker-Simple","commit_stats":null,"previous_names":["codecshekhar/bug-tracker-simple"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeCshekhar%2FBug-Tracker-Simple","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeCshekhar%2FBug-Tracker-Simple/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeCshekhar%2FBug-Tracker-Simple/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeCshekhar%2FBug-Tracker-Simple/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeCshekhar","download_url":"https://codeload.github.com/CodeCshekhar/Bug-Tracker-Simple/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241928924,"owners_count":20043904,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","h2-database","hibernate-jpa","mysql","postman","tomcat-server"],"created_at":"2025-01-15T06:34:58.266Z","updated_at":"2025-03-04T22:19:28.106Z","avatar_url":"https://github.com/CodeCshekhar.png","language":"Java","readme":"# Bug-Tracker-Simple\n\nA **Bug Tracker System** built with **Spring Boot**, **JPA/Hibernate**, and a **MySQL** database, allowing users to create and manage bugs, priorities, and users. This system helps track bugs in a software project by assigning priorities and users to each bug.\n\n## Table of Contents\n- [Technologies Used](#technologies-used)\n- [Features](#features)\n- [API Endpoints](#api-endpoints)\n  - [User API](#user-api)\n  - [Priority API](#priority-api)\n  - [Bug API](#bug-api)\n- [Setup](#setup)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Technologies Used\n- **Spring Boot**: The main framework used for building the application.\n- **Spring Data JPA**: For interacting with the MySQL database.\n- **MySQL**: Database for storing user, priority, and bug data.\n- **Lombok**: For reducing boilerplate code.\n- **Postman**: For API testing.\n- **Hibernate**: ORM framework used for data access.\n\n## Features\n- **User Management**: Create, read, update, and delete users.\n- **Priority Management**: Create, read, update, and delete bug priorities.\n- **Bug Management**: Create, read, update, and delete bugs, with the ability to assign priorities and users.\n- **CRUD Operations** for Users, Priorities, and Bugs.\n\n## Project Structure\n```plaintext\n├── src\n│   ├── main\n│   │   ├── java\n│   │   │   ├── com\n│   │   │   │   ├── example\n│   │   │   │   │   ├── bugtracker\n│   │   │   │   │   │   ├── BugTrackerApplication.java\n│   │   │   │   │   │   ├── controller\n│   │   │   │   │   │   │   ├── BugController.java\n│   │   │   │   │   │   │   ├── PageController.java   \n│   │   │   │   │   │   ├── model\n│   │   │   │   │   │   │   ├── Bug.java\n│   │   │   │   │   │   │   ├── Priority.java\n│   │   │   │   │   │   │   ├── User.java\n│   │   │   │   │   │   ├── repository\n│   │   │   │   │   │   │   ├── BugRepository.java\n│   │   │   │   │   │   │   ├── PriorityRepository.java\n│   │   │   │   │   │   │   ├── UserRepository.java\n│   │   │   │   │   │   ├── service\n│   │   │   │   │   │   │   ├── BugService.java\n│   │   │   │   │   │   │   ├── PriorityService.java\n│   │   │   │   │   │   │   ├── UserService.java\n│   ├── resources\n│   │   ├── application.properties\n│   ├── templates\n|   |   ├── index.html\n│   │   ├── styles.css\n|   |   ├── add-bug.html\n|   |   ├── retrieve-bug.html\n|   |\n|\n```\n\n## API Endpoints\n\n### User API\n- **POST** `/users`: Create a new user.\n    - Request Body:\n      ```json\n      {\n          \"username\": \"john_doe\",\n          \"email\": \"john.doe@example.com\"\n      }\n      ```\n- **GET** `/users`: Get all users.\n- **GET** `/users/{id}`: Get a user by ID.\n- **PUT** `/users/{id}`: Update a user by ID.\n    - Request Body:\n      ```json\n      {\n          \"username\": \"john_doe_updated\",\n          \"email\": \"john.doe.updated@example.com\"\n      }\n      ```\n- **DELETE** `/users/{id}`: Delete a user by ID.\n\n### Priority API\n- **POST** `/priorities`: Create a new priority.\n    - Request Body:\n      ```json\n      {\n          \"name\": \"High\"\n      }\n      ```\n- **GET** `/priorities`: Get all priorities.\n- **GET** `/priorities/{id}`: Get a priority by ID.\n- **PUT** `/priorities/{id}`: Update a priority by ID.\n    - Request Body:\n      ```json\n      {\n          \"name\": \"Low\"\n      }\n      ```\n- **DELETE** `/priorities/{id}`: Delete a priority by ID.\n\n### Bug API\n- **POST** `/bugs`: Create a new bug.\n    - Request Body:\n      ```json\n      {\n          \"title\": \"Bug in Login Form\",\n          \"description\": \"Login form crashes on submit.\",\n          \"status\": \"Open\",\n          \"priority\": 1,\n          \"user\": 1\n      }\n      ```\n- **GET** `/bugs`: Get all bugs.\n- **GET** `/bugs/{id}`: Get a bug by ID.\n- **PUT** `/bugs/{id}`: Update a bug by ID.\n    - Request Body:\n      ```json\n      {\n          \"title\": \"Bug in Login Form - Fixed\",\n          \"description\": \"Login form issue fixed after the latest update.\",\n          \"status\": \"Closed\",\n          \"priority\": 1,\n          \"user\": 1\n      }\n      ```\n- **DELETE** `/bugs/{id}`: Delete a bug by ID.\n\n## Setup\n\n### Prerequisites\n- **Java 11+** installed on your system.\n- **Maven** for building the project.\n- **MySQL** database running locally or remotely.\n- **POSTMAN** for API testing.\n\n### Database Configuration\n```properties\n# MySQL Database Configuration\nspring.datasource.url=jdbc:mysql://localhost:3306/bug_tracker?createDatabaseIfNotExist=true\u0026useSSL=false\u0026allowPublicKeyRetrieval=true\nspring.datasource.username=root\nspring.datasource.password=root\nspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver\n\n# JPA/Hibernate Properties\nspring.jpa.hibernate.ddl-auto=update\nspring.jpa.show-sql=true\nspring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect\nspring.jpa.properties.hibernate.format_sql=true\n```\n\n### Clone the repository\n```bash\ngit clone https://github.com/CodeCshekhar/Bug-Tracker-Simple.git\ncd Bug-Tracker-Simple\n```\n\n### Build and Run\n1. Create a MySQL database named 'bug_tracker' (or let the application create it automatically)\n2. Update application.properties with your MySQL credentials\n3. Build the project: `mvn clean install`\n4. Run the application: `mvn spring-boot:run`\n\n### Dependencies\nAdd this to your `pom.xml`:\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003emysql\u003c/groupId\u003e\n    \u003cartifactId\u003emysql-connector-java\u003c/artifactId\u003e\n    \u003cversion\u003e8.0.28\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## Contributing\n- Chandrashekhar Wagh: Initial work and development of the Bug Tracker System.\n- If you'd like to contribute, feel free to fork this repository and submit a pull request with your changes. You can also open an issue for bug fixes or feature requests.\n\n## License\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecshekhar%2Fbug-tracker-simple","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodecshekhar%2Fbug-tracker-simple","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecshekhar%2Fbug-tracker-simple/lists"}