{"id":28666433,"url":"https://github.com/jvictornascimento/springboot-backend-ecommerce","last_synced_at":"2026-03-14T06:01:52.065Z","repository":{"id":297345843,"uuid":"995797008","full_name":"jvictornascimento/springboot-backend-ecommerce","owner":"jvictornascimento","description":"Este projeto é um backend para um sistema de e-commerce desenvolvido com Java e Spring Boot. Ele fornece funcionalidades essenciais como cadastro de produtos, usuários, pedidos e muito mais.","archived":false,"fork":false,"pushed_at":"2025-06-05T02:29:16.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-13T14:16:26.443Z","etag":null,"topics":["java","lombok","maven","model-mapper","mysql","spring-boot"],"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/jvictornascimento.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,"zenodo":null}},"created_at":"2025-06-04T02:52:28.000Z","updated_at":"2025-06-05T02:30:49.000Z","dependencies_parsed_at":"2025-06-06T18:16:53.654Z","dependency_job_id":null,"html_url":"https://github.com/jvictornascimento/springboot-backend-ecommerce","commit_stats":null,"previous_names":["jvictornascimento/springboot-backend-ecommerce"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jvictornascimento/springboot-backend-ecommerce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvictornascimento%2Fspringboot-backend-ecommerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvictornascimento%2Fspringboot-backend-ecommerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvictornascimento%2Fspringboot-backend-ecommerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvictornascimento%2Fspringboot-backend-ecommerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jvictornascimento","download_url":"https://codeload.github.com/jvictornascimento/springboot-backend-ecommerce/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jvictornascimento%2Fspringboot-backend-ecommerce/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265095822,"owners_count":23710738,"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","lombok","maven","model-mapper","mysql","spring-boot"],"created_at":"2025-06-13T14:16:09.400Z","updated_at":"2026-03-14T06:01:52.059Z","avatar_url":"https://github.com/jvictornascimento.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eSpring Boot Backend Ecommerce\u003c/h1\u003e\n\n![Badge Concluído](https://img.shields.io/static/v1?label=Status\u0026message=Desenvolvendo\u0026color=red\u0026style=for-the-badge)\n![Badge Java](https://img.shields.io/static/v1?label=Java\u0026message=21\u0026color=red\u0026style=for-the-badge\u0026logo=java)\n![Badge Spring](https://img.shields.io/static/v1?label=SpringBoot\u0026message=v3.5.0\u0026color=brightgreen\u0026style=for-the-badge\u0026logo=SpringBoot)\n![Badge Mysql](https://img.shields.io/static/v1?label=Mysql\u0026message=v\u0026color=blue\u0026style=for-the-badge\u0026logo=PostgreSQL)\n\n## Resumo do Projeto\n\nEste projeto é um backend para um sistema de e-commerce desenvolvido com Java e Spring Boot. Ele fornece funcionalidades essenciais como cadastro de produtos, usuários, pedidos e muito mais.\n\n## Diagrama de Classe\n```mermaid\n    classDiagram\n    \n    class User {\n        - id : Long\n        - email : String\n        - firstName : String\n        - lastName : String\n        - password : String\n        - cart : Cart\n        - orders : Order[]\n        - roles : Role[]\n    }\n    \n    class Role {\n        - id : Long\n        - name : String\n        - users : User[]\n    }\n    \n    class UserRole {\n        +userId : Long\n        +roleId : Long\n    }\n    \n    class Cart {\n        - id : Long\n        - totalAmount : BigDecimal\n        - user : User\n        - items : CartItem[ ]\n        + void removeItem(cartItem : CartItem)\n        + void addItem(cartItem : CartItem) \n        + void update() \n        - void updateTotalAmount() \n        + void clearCart() \n        \n    }\n    \n    class CartItem {\n        - id : Long\n        - quantity : int\n        - unitPrice : BigDecimal\n        - totalPrice : BigDecimal\n        - product : Product\n        - cart : Cart\n        + void setTotalPrice()\n    }\n    \n    class Category {\n        - id : Long\n        - name : String\n        - products : Product[ ]\n    }\n    \n    class Product {\n        - id : Long\n        - name : String\n        - brand : String\n        - description : String\n        - inventory : int\n        - price : BigDecimal\n        - category : Category\n        - images : Image[]\n    }\n    \n    class Image {\n        - id : Long\n        - fileName : String\n        - fileType : String\n        - downloadUrl : String\n        - image : Blob\n        - product : Product\n    }\n    \n    class Order {\n        - orderId : Long\n        - orderDate : Date\n        - orderStatus : Enum\n        - totalAmount : BigDecimal\n        - user : User\n        - orderItems : OrderItem[]\n    }\n    \n    class OrderItem {\n        - id : Long\n        - price : BigDecimal\n        - quantity : int\n        - order : Order\n        - Product : Product\n    }\n    \n    %% Relacionamentos\n    User \"1\" --\u003e \"1\" Cart : has\n    User \"1\" --\u003e \"*\" Order : places\n    User \"*\" -- \"*\" Role : via UserRole\n    Cart \"1\" --\u003e \"*\" CartItem : contains\n    CartItem \"*\" --\u003e \"1\" Product : references\n    Product \"1\" --\u003e \"*\" Image : has\n    Category \"1\" --\u003e \"*\" Product : classifies\n    Order \"1\" --\u003e \"*\" OrderItem : contains\n    OrderItem \"*\" --\u003e \"1\" Product : references\n\n````\n\n## Funcionalidades Atuais\n- CRUD de Produtos\n- Cadastro de Imagens e associação com Produto\n- Cadastro e Listagem de Pedidos\n- Cadastro e Listagem de Carrinhos\n- Associação de pedidos com usuários\n- Integração com banco Mysql\n- Mapeamento de Dto Com Model Mapper\n- Autenticação e Autorização com Spring Security\n- Controle de acesso por perfil\n- Token com Jwt\n\n## Atualizações Futuras\n- Spring AI. (em fase de pesquisa)\n- Containerização do projeto com Docker\n\n## Tecnologias\n\n- `Intellij`\n- `Java 21`\n- `Maven`\n- `Spring Boot, Spring Web, Spring Data JPA`\n- `Mysql`\n- `Lombok`\n- `Model Mapper`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvictornascimento%2Fspringboot-backend-ecommerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjvictornascimento%2Fspringboot-backend-ecommerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjvictornascimento%2Fspringboot-backend-ecommerce/lists"}