Kaua3045 / ecommerce

Ecommerce project, to manage products, nfe, orders, using clean architecture and DDD
3 stars 0 forks source link

Ecommerce

Ferramentas utilizadas

Java Spring Gradle Docker MySQL GitHub Actions RabbitMQ

Projetos complementares do ecommerce

Sobre

Esse projeto esta sendo criado para gerenciar toda a parte de ecommerce, produtos, orders, etc.

Tabela de conteúdos

Arquitetura

Circulo da clean architecture

Camadas da aplicação

Domain, é a camada onde se encontra as regras de negócio, validações e as interfaces gateways (abstração dos métodos do banco dedados, são usadas para remover o acomplamento com o banco de dados)

Application, é a camada que contem todos os casos de uso (criar um usuário, pegar um usuário pelo id, atualizar um usuário, deletar um usuário, esse é famoso CRUD) e contem a integração com o gateway do banco de dados

Infrastructure, é a camada responsável por conectar tudo, o usuário com a application e domain layer, contem a conexão com o banco de dados, entidades do banco e as rotas

Requisitos para rodar o projeto

  1. Docker e docker-compose
  2. Java e JDK 17

Instruções para executar o projeto

  1. Baixe a aplicação e instale as dependências:
    
    # Baixando o projeto e acessando o diretorio
    git clone https://github.com/Kaua3045/ecommerce.git cd ecommerce

Baixando as dependências

./gradlew dependencies


2. Antes de executar a aplicação, você precisa configurar o arquivo .env.example, depois renomeie ele para .env

3. Agora inicie o container do banco de dados:
```bash
# Execute o container do banco de dados
docker-compose -f docker-compose-dev.yml up -d
  1. Agora inicie a aplicação:
    # Iniciando a aplicação
    ./gradlew bootRun
  2. A url base da aplicação é: localhost:8080/

Contribuindo com o projeto

Para contribuir com o projeto, veja mais informações em CONTRIBUTING

Changelog

Para ver as últimas alterações do projeto, acesse AQUI

Configurações para dev

After cloning project add commit-msg hook in your git path

    git config core.hooksPath .githooks