A 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.
- Spring Boot: The main framework used for building the application.
- Spring Data JPA: For interacting with the MySQL database.
- MySQL: Database for storing user, priority, and bug data.
- H2 DATABASE (Optional): Database for storing user, priority, and bug data in Memory.
- Lombok: For reducing boilerplate code.
- Postman: For API testing.
- Hibernate: ORM framework used for data access.
- User Management: Create, read, update, and delete users.
- Priority Management: Create, read, update, and delete bug priorities.
- Bug Management: Create, read, update, and delete bugs, with the ability to assign priorities and users.
- CRUD Operations for Users, Priorities, and Bugs.
├── src
│ ├── main
│ │ ├── java
│ │ │ ├── com
│ │ │ │ ├── example
│ │ │ │ │ ├── bugtracker
│ │ │ │ │ │ ├── BugTrackerApplication.java
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ │ ├── BugController.java
│ │ │ │ │ │ │ ├── PriorityController.java
│ │ │ │ │ │ │ ├── UserController.java
│ │ │ │ │ │ ├── model
│ │ │ │ │ │ │ ├── Bug.java
│ │ │ │ │ │ │ ├── Priority.java
│ │ │ │ │ │ │ ├── User.java
│ │ │ │ │ │ ├── repository
│ │ │ │ │ │ │ ├── BugRepository.java
│ │ │ │ │ │ │ ├── PriorityRepository.java
│ │ │ │ │ │ │ ├── UserRepository.java
│ │ │ │ │ │ ├── service
│ │ │ │ │ │ │ ├── BugService.java
│ │ │ │ │ │ │ ├── PriorityService.java
│ │ │ │ │ │ │ ├── UserService.java
│ ├── resources
│ │ ├── application.properties
│ ├── static
| | ├── index.html
│ │ ├── styles.css
| | ├── app.js
| |
|
- POST
/users
: Create a new user.- Request Body:
{ "username": "john_doe", "email": "john.doe@example.com" }
- Request Body:
- GET
/users
: Get all users. - GET
/users/{id}
: Get a user by ID. - PUT
/users/{id}
: Update a user by ID.- Request Body:
{ "username": "john_doe_updated", "email": "john.doe.updated@example.com" }
- Request Body:
- DELETE
/users/{id}
: Delete a user by ID.
- POST
/priorities
: Create a new priority.- Request Body:
{ "name": "High" }
- Request Body:
- GET
/priorities
: Get all priorities. - GET
/priorities/{id}
: Get a priority by ID. - PUT
/priorities/{id}
: Update a priority by ID.- Request Body:
{ "name": "Low" }
- Request Body:
- DELETE
/priorities/{id}
: Delete a priority by ID.
- POST
/bugs
: Create a new bug.- Request Body:
{ "title": "Bug in Login Form", "description": "Login form crashes on submit.", "status": "Open", "priority": 1, "user": 1 }
- Request Body:
- GET
/bugs
: Get all bugs. - GET
/bugs/{id}
: Get a bug by ID. - PUT
/bugs/{id}
: Update a bug by ID.- Request Body:
{ "title": "Bug in Login Form - Fixed", "description": "Login form issue fixed after the latest update.", "status": "Closed", "priority": 1, "user": 1 }
- Request Body:
- DELETE
/bugs/{id}
: Delete a bug by ID.
- Java 11+ installed on your system.
- Maven for building the project.
- MySQL database running locally or remotely.
- H2 DAtabase (Optional) database running locally or remotely in Memeory.
- POSTMAN fetching API's and Testing API's.
git clone https://github.com/CodeCshekhar/Bug-Tracker-Simple.git
cd Bug-Tracker-Simple
- Chandrashekhar Wagh: Initial work and development of the Bug Tracker System.
- 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.
- This project is licensed under the MIT License - see the LICENSE file for details.