Este projeto inclui uma API para o gerenciamento de tarefas, juntamente com um frontend desenvolvido em React. A solução completa permite criar, listar, atualizar e deletar tarefas, destacando-se pela performance e escalabilidade, suportando alto volume de requisições. O projeto demonstra práticas de clean architecture, caching, otimizações específicas para o MongoDB, e uma interface de usuário amigável.
Iniciando
Instruções para configurar o projeto localmente para desenvolvimento e testes.
Pré-requisitos
Para executar este projeto, você precisará ter instalado:
go version
node --version
npm --version
Instalação
-
Clone o projeto para sua máquina local:
git clone https://github.com/guilherme-difranco/go-test
-
Backend:
a. Acesse a pasta do backend e instale as dependências:
cd go-test/backend
go mod tidy
b. Execute o servidor localmente:
go run cmd/main.go
A API estará disponível em http://localhost:8080
.
-
Frontend:
a. Acesse a pasta do frontend e instale as dependências:
cd ../frontend
npm install
b. Execute o projeto React localmente:
npm start
O frontend estará disponível em http://localhost:3000
.
Testes
Para executar os testes automatizados no backend:
cd backend
go test ./...
Para rodar o teste de integração localmente, defina a variável de ambiente $env:PROJECT_ROOT
apontando para o diretório raiz do projeto backend:
$env:PROJECT_ROOT="<caminho_para_o_diretório_backend>"
go test ./... -tags=integration
Construído Com
- Gin - Framework web para Go
- MongoDB - Banco de dados NoSQL
- Go - Linguagem de programação
- React - Biblioteca JavaScript para construção de interfaces de usuário
Contribuindo
Contribuições são bem-vindas! Para contribuir com o projeto, siga as etapas descritas na seção anterior.
Autores
Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE
para mais detalhes.