{"id":15091200,"url":"https://github.com/vinibortoletto/springboot-mysql-shop","last_synced_at":"2026-02-27T12:13:34.544Z","repository":{"id":217734105,"uuid":"722290651","full_name":"vinibortoletto/springboot-mysql-shop","owner":"vinibortoletto","description":"A simple e-commerce API where its possible to manage users, addresses, products, carts and orders.","archived":false,"fork":false,"pushed_at":"2024-06-05T23:43:52.000Z","size":785,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T17:24:06.711Z","etag":null,"topics":["h2","java","java-faker","jpa","junit","mockito","mysql","open-api","spring-boot","spring-security","swagger"],"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/vinibortoletto.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":"2023-11-22T20:40:01.000Z","updated_at":"2024-08-01T02:37:45.000Z","dependencies_parsed_at":"2024-06-06T00:43:22.852Z","dependency_job_id":"2ad28f2b-060f-47ec-9508-0ad84b17ad77","html_url":"https://github.com/vinibortoletto/springboot-mysql-shop","commit_stats":{"total_commits":249,"total_committers":1,"mean_commits":249.0,"dds":0.0,"last_synced_commit":"9422e14a8f12fdad82de12836ec2ea84665f0015"},"previous_names":["vinibortoletto/springboot-mysql-shop"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vinibortoletto/springboot-mysql-shop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinibortoletto%2Fspringboot-mysql-shop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinibortoletto%2Fspringboot-mysql-shop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinibortoletto%2Fspringboot-mysql-shop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinibortoletto%2Fspringboot-mysql-shop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinibortoletto","download_url":"https://codeload.github.com/vinibortoletto/springboot-mysql-shop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinibortoletto%2Fspringboot-mysql-shop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29894036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T12:09:13.686Z","status":"ssl_error","status_checked_at":"2026-02-27T12:09:13.282Z","response_time":57,"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":["h2","java","java-faker","jpa","junit","mockito","mysql","open-api","spring-boot","spring-security","swagger"],"created_at":"2024-09-25T10:36:25.894Z","updated_at":"2026-02-27T12:13:32.192Z","avatar_url":"https://github.com/vinibortoletto.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple Shop API\nA simple e-commerce API where its possible to manage users, addresses, products, carts and orders.\n\n## Tools\nThis project was created with the following tools:\n\n- Java\n- SpringBoot\n- Spring Security\n- JPA\n- MySQL\n- JUnit\n- Mockito\n- H2\n- Java Faker\n- Swagger\n\n\n## Usage\nTo use this application, you will need Docker, Docker Compose and IntalliJ installed.\n\n1. Clone this repository:\n```bash\ngit clone git@github.com:vinibortoletto/springboot-mysql-shop.git\n```\n\n2. Navigate to the project's directory:\n```bash\ncd springboot-mysql-shop.git\n```\n\n3. Run Docker Compose\n```bash\ndocker-compose up -d\n```\n\n4. Open the project in IntelliJ and run it.\n\n5. If you wish, you can also import the endpoints collection in Postman:\nhttps://github.com/vinibortoletto/springboot-mysql-shop/blob/main/simple_shop.postman_collection.json\n\n\n ## Endpoints\nAll requests with exception of `POST /users/login` and `POST /users` require an authentication token, which is generated after login.\n\n#### Users\n| Method | Path      | Description                |\n| :----  | :-------- | :------------------------- |\n| `GET`  | `/users/{userId}`| Get user by id      |\n| `PUT`  | `/users/{userId}`| Update user by id   |\n| `DELETE`  | `/users/{userId}`| Delete user by id   |\n| `GET`  | `/users`| Get all users  |\n| `POST`  | `/users`| Create new user  |\n| `POST`  | `/users/login`| Validate user login  |\n\n#### Products\n| Method | Path      | Description                |\n| :----  | :-------- | :------------------------- |\n| `PUT`  | `/products/{productId}`| Update product by id      |\n| `GET`  | `/products`| Get all products   |\n| `POST`  | `/products`| Create new product   |\n| `GET`  | `/products/{productId}`| Get product by id   |\n| `DELETE`  | `/products/{productId}`| Delete product by id   |\n| `GET`  | `/products/categories/{categoryId}`| Get all products by cateogry id   |\n\n#### Orders\n| Method | Path      | Description                |\n| :----  | :-------- | :------------------------- |\n| `PUT`  | `/orders/status`| Update an order status      |\n| `GET`  | `/orders`| Get all orders      |\n| `POST`  | `/orders`| Create new order      |\n| `GET`  | `/orders/{orderId}`| Get order by id      |\n| `GET`  | `/orders/customer{customerId}`| Get all orders by user id      |\n\n#### Categories\n| Method | Path      | Description                |\n| :----  | :-------- | :------------------------- |\n| `GET`  | `/categories/{categoryId}`| Get category by id      |\n| `PUT`  | `/categories/{categoryId}`| Update category by id      |\n| `DELETE`  | `/categories/{categoryId}`| Delete category by id      |\n| `GET`  | `/categories`| Get all categories      |\n| `POST`  | `/categories`| Create new category      |\n\n#### Carts\n| Method | Path      | Description                |\n| :----  | :-------- | :------------------------- |\n| `PUT`  | `/carts/{cartId}`| Get cart by id      |\n| `GET`  | `/carts`| Get all carts      |\n| `GET`  | `/carts/customer/{customerId}`| Get cart by customer id      |\n\n#### Addresses\n| Method | Path      | Description                |\n| :----  | :-------- | :------------------------- |\n| `GET`  | `/addresses/{addressId}`| Get address by id      |\n| `PUT`  | `/addresses/{addressId}`| Update address by id      |\n| `GET`  | `/addresses`| Get all addresses      |\n| `POST`  | `/addresses`| Create new address      |\n| `GET`  | `/addresses/customer/{customerId}`| Get all addresses by customer id      |\n\n#### Customers\n| Method | Path      | Description                |\n| :----  | :-------- | :------------------------- |\n| `GET`  | `/customers`| Get all customers      |\n| `GET`  | `/customers/{customerId}`| Get customer by id      |\n\n#### Admins\n| Method | Path      | Description                |\n| :----  | :-------- | :------------------------- |\n| `GET`  | `/admins`| Get all admins      |\n\n## Database\n\n\u003cimg src=\"https://i.imgur.com/U4IulF5.png\" alt=\"\" /\u003e\n\n\n\n\n\n\u003c!-- \u003cimg src=\"https://i.imgur.com/zdbAC7V.png\" alt=\"\" /\u003e --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinibortoletto%2Fspringboot-mysql-shop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinibortoletto%2Fspringboot-mysql-shop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinibortoletto%2Fspringboot-mysql-shop/lists"}