andrewronscki / template_rust_vertical_slice

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🦀 O template para o bootstrap da sua aplicação Rust. ❤️

Tabela de conteúdos

💻 Sobre o projeto

Esse projeto tem como intuíto exemplificar como pode ser criado o seu projeto com Rust utilizando conceitos da arquitetura Vertical Slice junto com Domain-Driven Design e arquitetura modular.


⚙️ Funcionalidades

  • Vertical Slice
  • HTTP Routes
  • Asynchronous communication
  • Dependency Injection
  • Exception Filter
  • Postgres Integration
  • OpenApi Integration
  • Logs
  • Tests
  • Authentication
  • Password encryption

🚀 Como executar o projeto

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Rust, Docker. Além disto é bom ter um editor para trabalhar com o código como VSCode

🎲 Rodando o projeto

# Clone este repositório
$ git@github.com:andrewronscki/template_rust_vertical_slice.git

# Acesse a pasta do projeto no terminal/cmd
$ cd template_rust_vertical_slice

# Crie a infra com docker compose
# Garanta que o docker esteja rodando
$ make infra

# Após a infra ser criada inicie o projeto
$ make run

# Para mais comandos visite o arquivo Makefile

🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

Template (Rust)

Veja o arquivo Cargo.toml


🛠 Estrutura do Projeto

A estrutura do template do projeto segue este modelo:

  • O sistema deve ser desenvolvido utilizando os ensinamentos do Vertical Slice e Domain-Driven Design, separando as camadas em domain e features;
  • O sistema deve ser agrupado por módulos independentes;
  • O desenvolvimento dos domínios devem ser orientado a testes (TDD).
Arquitetura da Api

🦸 Autor


André Wronscki Ricardo
🚀

Linkedin Badge Gmail Badge


📝 Licença

Este projeto esta sobe a licença MIT.

About

License:MIT License


Languages

Language:Rust 96.7%Language:PLpgSQL 2.5%Language:Makefile 0.8%