{"id":19081063,"url":"https://github.com/alexzgut/bookstoremanagement","last_synced_at":"2026-05-20T05:11:36.873Z","repository":{"id":261504061,"uuid":"884498889","full_name":"AlexzGut/BookstoreManagement","owner":"AlexzGut","description":"This project demonstrates database design principles, SQL schema creation, and handling complex relationships between tables. The bookstore database supports full CRUD functionality and integrates seamlessly with RESTful API endpoints, allowing users to perform operations on books, authors, genres, and publishers.","archived":false,"fork":false,"pushed_at":"2024-11-06T21:55:48.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-22T06:11:35.553Z","etag":null,"topics":["jdbc","mysql-database","rest-api","restful-api","sql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexzGut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-11-06T21:30:44.000Z","updated_at":"2024-11-06T21:55:52.000Z","dependencies_parsed_at":"2024-11-06T22:39:16.186Z","dependency_job_id":"2b539995-c57e-4793-97ed-4e8c42a580af","html_url":"https://github.com/AlexzGut/BookstoreManagement","commit_stats":null,"previous_names":["alexzgut/bookstoremanagement"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlexzGut/BookstoreManagement","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexzGut%2FBookstoreManagement","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexzGut%2FBookstoreManagement/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexzGut%2FBookstoreManagement/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexzGut%2FBookstoreManagement/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexzGut","download_url":"https://codeload.github.com/AlexzGut/BookstoreManagement/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexzGut%2FBookstoreManagement/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272988919,"owners_count":25026961,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["jdbc","mysql-database","rest-api","restful-api","sql"],"created_at":"2024-11-09T02:32:48.011Z","updated_at":"2026-05-20T05:11:36.845Z","avatar_url":"https://github.com/AlexzGut.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bookstore Management System\n\nThe **Bookstore Management System** is a SQL-based project designed to handle the core functions of managing a bookstore. This project includes features for storing and managing books, authors, genres, publishers, and addresses, with a focus on efficient data management and relational integrity.\n\n## Table of Contents\n\n- [Project Overview](#project-overview)\n- [Features](#features)\n- [Database Schema](#database-schema)\n- [Technologies Used](#technologies-used)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Project Overview\n\nThis project demonstrates database design principles, SQL schema creation, and handling complex relationships between tables. The bookstore database supports full CRUD functionality and integrates seamlessly with RESTful API endpoints, allowing users to perform operations on books, authors, genres, and publishers.\n\n## Features\n\n- **CRUD Operations**: Add, view, update, and delete records for books, authors, genres, and publishers.\n- **Relational Database Design**:\n  - **One-to-Many**: Publishers can have multiple books.\n  - **Many-to-Many**: Books can have multiple authors and genres.\n  - **One-to-One (Optional)**: Each publisher can optionally have one address.\n- **Data Integrity**: Primary keys, foreign keys, and unique constraints ensure robust data management.\n- **API Integration**: Supports RESTful API calls to interact with the database.\n\n## Database Schema\n\nThe following tables are included in the schema:\n\n- **book**: Stores book details including ISBN, title, language, price, and publisher.\n- **author**: Contains author details such as name, pseudonym, and nationality.\n- **book_author**: Linking table to support the many-to-many relationship between books and authors.\n- **genre**: Stores genre categories and descriptions.\n- **book_genre**: Linking table to support the many-to-many relationship between books and genres.\n- **publisher**: Stores publisher information, including a possible relationship to an address.\n- **address**: Contains address details for publishers.\n\n### Entity Relationships\n\n1. **Books and Authors**: A many-to-many relationship using the `book_author` table.\n2. **Books and Genres**: A many-to-many relationship using the `book_genre` table.\n3. **Publishers and Books**: A one-to-many relationship, where one publisher can have multiple books.\n4. **Publishers and Addresses**: An optional one-to-one relationship for publishers' addresses.\n\n## Technologies Used\n\n- **SQL**: Database creation and management.\n- **Java EE (Jersey)**: REST API integration.\n- **JDBC**: For database connection and CRUD operations.\n- **Eclipse**: Development environment.\n\n## Installation\n\n1. **Clone the Repository**\n   ```bash\n   git clone https://github.com/AlexzGut/BookstoreManagement.git\n   ```\n2. **Database Setup:**\n\n- Create a database named bookstore.\n- Import the SQL schema from\n```bash\nBookstoreManagement/\n├── src/\n│   ├── main/\n│   │   └── resources/\n│       ├── ddl/                      # SQL Data Definition Language\n│       │   ├── book.txt              # Database schema\n│       ├── dml/                      # SQL Data Manipulation Language\n│       │   └── insert statements.txt # Database Data\n```\n3. **Configure Database Connection:** Adjust JDBC connection settings in the application code if needed.\nRun the Application.\n\n## Usage\n- **Postman** or similar tools can be used to test the API endpoints.\n- Run CRUD operations on *books* to interact with the database.\n- \n## Contributing\nContributions are welcome! Please open an issue or submit a pull request for any updates or feature suggestions.\n\n## License\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexzgut%2Fbookstoremanagement","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexzgut%2Fbookstoremanagement","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexzgut%2Fbookstoremanagement/lists"}