{"id":24511846,"url":"https://github.com/halilomergurgan/bookmanagement","last_synced_at":"2026-05-09T02:36:02.534Z","repository":{"id":252682449,"uuid":"840851781","full_name":"halilomergurgan/bookManagement","owner":"halilomergurgan","description":"Java Spring Boot Book Management App","archived":false,"fork":false,"pushed_at":"2024-08-11T21:58:18.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T09:44:35.561Z","etag":null,"topics":["java-17","java-springboot","maven","mysql"],"latest_commit_sha":null,"homepage":"","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/halilomergurgan.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":"2024-08-10T22:12:08.000Z","updated_at":"2024-08-24T21:58:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"5bbf32e9-e035-47bc-8df8-f3e75578c14a","html_url":"https://github.com/halilomergurgan/bookManagement","commit_stats":null,"previous_names":["halilomergurgan/java-bookmanagement","halilomergurgan/bookmanagement"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halilomergurgan%2FbookManagement","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halilomergurgan%2FbookManagement/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halilomergurgan%2FbookManagement/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halilomergurgan%2FbookManagement/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/halilomergurgan","download_url":"https://codeload.github.com/halilomergurgan/bookManagement/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243713386,"owners_count":20335566,"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":["java-17","java-springboot","maven","mysql"],"created_at":"2025-01-22T00:42:45.115Z","updated_at":"2026-05-09T02:36:02.498Z","avatar_url":"https://github.com/halilomergurgan.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Book Management API\n\nThis is a RESTful API built using Java Spring Boot. The API allows users to manage books and their categories. It includes features for adding, updating, deleting, and retrieving books and categories, as well as searching and filtering books based on various criteria.\n\n## Features\n\n- **Book Management**: Add, update, delete, and retrieve books.\n- **Category Management**: Add, update, delete, and retrieve book categories.\n- **Search and Filtering**: Search books by title, author, and filter by category.\n- **JWT Authentication**: Secure the API endpoints using JWT tokens.\n- **CRUD Operations**: Full CRUD operations for both books and categories.\n\n## Requirements\n\n- Java 17 or later\n- Maven 3.6 or later\n- MySQL or any other relational database\n- Postman (for testing the API endpoints)\n\n## Getting Started\n\n### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/halilomergurgan/java-bookManagement.git\ncd bookManagement\n```\n\n2. Set Up the Database\n   Create a database in MySQL or your preferred database. Update the application.properties file with your database connection details:\n```bash\nspring.datasource.url=jdbc:mysql://localhost:3306/book_management_db\nspring.datasource.username=your_username\nspring.datasource.password=your_password\nspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver\n\nspring.jpa.hibernate.ddl-auto=update\nspring.jpa.show-sql=true\nspring.jpa.database-platform=org.hibernate.dialect.MySQLDialect\n```\n3. Build and Run the Project\n   Use Maven to build and run the project:\n```bash\nmvn clean install\nmvn spring-boot:run\n```\n\n### 4. Test the API\n\nYou can use Postman or any other API testing tool to test the endpoints. Below are some example requests:\n\n#### 4.1 Authentication\n\n```bash\nPOST /api/auth/login\nPOST /api/auth/register\n```\n4.2 Book Management\n\n```bash\nGET    /api/books\nGET    /api/books/{id}\nPOST   /api/books\nPUT    /api/books/{id}\nDELETE /api/books/{id}\nGET    /api/books/search?title={title}\u0026author={author}\u0026categoryId={categoryId}\nGET    /api/books/by-category/{categoryId}\n\n```\n4.3 Category Management\n\n```bash\nGET    /api/categories\nPOST   /api/categories\nPUT    /api/categories/{id}\nDELETE /api/categories/{id}\n\n```\n```bash\nbookManagement/\n├── src/main/java/com/example/bookmanagement/\n│   ├── controller/         # Controllers for handling API requests\n│   ├── dto/                # Data Transfer Objects\n│   ├── entity/             # JPA Entities\n│   ├── exception/          # Custom exceptions and handlers\n│   ├── repository/         # JPA Repositories\n│   ├── security/           # Security configuration and JWT utility classes\n│   ├── service/            # Business logic and service layer\n│   └── BookManagementApplication.java # Main Spring Boot application\n├── src/main/resources/\n│   ├── application.properties # Application configuration\n├── pom.xml                  # Maven configuration file\n└── README.md                # Project documentation\n\n```\n\n## Contributing\nIf you'd like to contribute, please fork the repository and use a feature branch. Pull requests are welcome.\n\n## License\nThis project is licensed under the MIT License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalilomergurgan%2Fbookmanagement","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhalilomergurgan%2Fbookmanagement","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalilomergurgan%2Fbookmanagement/lists"}