{"id":20181334,"url":"https://github.com/lasbrdev/store-rest-api-springboot","last_synced_at":"2026-05-19T05:37:57.240Z","repository":{"id":219025720,"uuid":"747971037","full_name":"lasbrDev/store-rest-api-springboot","owner":"lasbrDev","description":"REST API of Store - A web sales marketplace","archived":false,"fork":false,"pushed_at":"2024-01-25T18:21:48.000Z","size":309,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T17:19:57.966Z","etag":null,"topics":["h2-database","insomnia","java","jpa-hibernate","springboot"],"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/lasbrDev.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-01-25T02:05:26.000Z","updated_at":"2024-01-25T02:29:46.000Z","dependencies_parsed_at":"2024-11-14T02:45:31.174Z","dependency_job_id":null,"html_url":"https://github.com/lasbrDev/store-rest-api-springboot","commit_stats":null,"previous_names":["lasbrdev/store-rest-api-springboot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasbrDev%2Fstore-rest-api-springboot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasbrDev%2Fstore-rest-api-springboot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasbrDev%2Fstore-rest-api-springboot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasbrDev%2Fstore-rest-api-springboot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lasbrDev","download_url":"https://codeload.github.com/lasbrDev/store-rest-api-springboot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241616700,"owners_count":19991543,"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":["h2-database","insomnia","java","jpa-hibernate","springboot"],"created_at":"2024-11-14T02:35:07.279Z","updated_at":"2025-10-16T18:34:48.561Z","avatar_url":"https://github.com/lasbrDev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Loja Virtual\n\nEsta é uma aplicação Spring Boot (API REST) para operações em uma loja virtual. Atualmente em desenvolvimento, a aplicação é escrita em Java e, no futuro, será utilizada uma base de dados relacional mais robusta, possivelmente com Docker e métricas de DevOps na fase de implementação.\n\n## Tecnologias Utilizadas\n\n- Java\n- Spring Boot\n- H2 Database (para testes)\n- Maven\n\n\n## Principais Classes\n\n### `User` \nA classe `User` representa um usuário da loja virtual. Cada usuário possui um identificador único, nome, e-mail, número de telefone, senha e pode ter realizado vários pedidos.\n\n### `Order` \nA classe `Order` representa um pedido feito por um usuário. Cada pedido possui um identificador único, um momento de realização, um status e está associado a um usuário. Além disso, um pedido pode conter vários itens.\n\n### `Category`\n\nA classe `Category` representa uma categoria de produtos na loja virtual. Cada categoria possui um identificador único, um nome e pode estar associada a vários produtos.\n\n\n### `Product`\nA classe `Product` representa um produto disponível na loja virtual. Cada produto possui um identificador único, um nome, descrição, preço, URL da imagem e pode estar associado a uma ou mais categorias.\n\n### `OrderStatus`\nA enumeração `OrderStatus` define os possíveis estados de um pedido, como \"Aguardando pagamento\", \"Pago\", \"Enviado\", \"Entregue\" e \"Cancelado\".\n\n### `OrderItem`\nA classe `OrderItem` representa um item específico em um pedido. Cada item possui uma quantidade, um preço e está associado a um produto e a um pedido.\n\n## Endpoints da API (Até o momento)\n\n- **User**: `/users`\n  - `GET /users`: Recuperar todos os usuários cadastrados.\n  - `GET /users/{id}`: Recuperar um usuário específico por ID.\n  - `POST /users`: Criar um novo usuário.\n  - `PUT /users/{id}`: Atualizar um usuário existente por ID.\n  - `DELETE /users/{id}`: Excluir um usuário por ID.\n\n\n- **Order**: `/orders`\n  - `GET /orders`: Recuperar todas os pedidos.\n  - `GET /orders/{id}`: Recuperar um pedido específica por ID.\n  - `POST /orders`: Criar uma novo pedido. (TO-DO)\n  - `PUT /orders/{id}`: Atualizar um pedido existente por ID. (TO-DO)\n  - `DELETE /orders/{id}`: Excluir um pedido por ID. (TO-DO)\n\n\n- **Category**: `/categories`\n  - `GET /categories`: Recuperar todas as categorias cadastradas.\n  - `GET /categories/{Id}`: Recuperar uma categoria específica por ID.\n  - `POST /categories`: Adicionar uma nova categoria. (TO-DO)\n  - `PUT /categories/{Id}`: Atualizar uma categoria existente por ID. (TO-DO)\n  - `DELETE /categories/{Id}`: Excluir uma categoria por ID. (TO-DO)\n\n\n- **Product**: `/products`\n  - `GET /products`: Recuperar todas os produtos cadastrados.\n  - `GET /products/{Id}`: Recuperar um produto específica por ID.\n  - `POST /products`: Adicionar um novo produto. (TO-DO)\n  - `PUT /products/{Id}`: Atualizar um produto existente por ID. (TO-DO)\n  - `DELETE /products/{Id}`: Excluir um produto por ID. (TO-DO)\t\n\t\n## Testando a Aplicação\n\nOs testes dos endpoints foram realizados com o insomnia, mas pode ser utilizado qualquer outra aplicação de testes de API, como por exemplo, o postman.\n\n* Acessar o endpoint no insomnia: http://localhost:8080\n\n![insomnia.png](src/main/resources/docs.prints/insomnia.png)\n\t\n* Acessar o endpoint do H2: http://localhost:8080/h2-console\n\n![test-h2.png](src/main/resources/docs.prints/test-h2.png)\n\n\n## Aviso\n\nEsta aplicação ainda está em desenvolvimento, e novas atualizações serão disponibilizadas em breve. Fique atento para obter as últimas melhorias e recursos adicionados à medida que continuamos aprimorando a aplicação. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flasbrdev%2Fstore-rest-api-springboot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flasbrdev%2Fstore-rest-api-springboot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flasbrdev%2Fstore-rest-api-springboot/lists"}