Dois empreendedores preocupados com os impactos socioambientais do agronegócio decidiram criar a AgroTech, empresa especializada em tecnologias para melhorar a eficiência no cultivo de platações. Visando reduzir o desperdício de recursos e alimentos, fazendo um uso mais responsável da terra disponível para plantio. Seu primeiro produto foi nomeado de Agrix, um sistema que permitirá a gestão e o monitoramento das fazendas participantes. O desenvolvimento deste produto será realizado em fases e este servirá como base para as próximas etapas.
Neste projeto uma aplicação Web em Java com Spring Boot será desenvolvido, com funcionalidades para gestão de fazendas e plantios:
- Implementação o ecossistema Spring para desenvolvimento de rotas de API Rest.
- Aplicaçãoo de injeção de dependência para conectar camadas de controle, serviço e persistência.
- Aplicação do Spring Data JPA para implementar entidades e repositórios para a persistência em banco de dados.
- Implementação de gerenciamento de erros no Spring Web.
- Criação de um Dockerfile execução da aplicação conteinerizada
Criação de uma API para controle de fazendas com as seguintes rotas:
POST /farms
: Cria fazenda.GET /farms
: Retorna todas as fazendas.GET /farms/{id}
: Retorna uma fazenda específica.POST /farms/{farmId}/crops
: Cria plantação de uma fazenda específica.GET /farms/{farmId}/crops
: Retorna uma lista de plantações de uma fazenda específica.GET /crops
: Retorna todas as plantações.GET /crops/{id}
: Retorna uma plantação específica.
-
Clone o repositório.
git clone git@github.com:lionelsu/lionel-agrix-fase-a.git && cd lionel-agrix-fase-a
-
Suba o ambiente com Docker Compose.
- Subir o ambiente:
docker-compose up -d
- Encerrar o ambiente:
docker-compose down
-
Execute o Spring Boot.
mvn spring-boot:run