go-test

module
v0.0.0-...-7fad759 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2024 License: MIT

README

API de Gerenciamento de Tarefas com Frontend em React

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
  • MongoDB
  • Node.js e npm
go version
node --version
npm --version
Instalação
  1. Clone o projeto para sua máquina local:

    git clone https://github.com/guilherme-difranco/go-test
    
  2. 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.

  3. 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.


Directories

Path Synopsis
api
cache/cache.go
cache/cache.go
Ensure to import the cache package where CacheService is defined
Ensure to import the cache package where CacheService is defined

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL