Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lionelsu/lionel-agrix-fase-b
About REST API designed to manage farms reducing the socio-environmental impact of agribusiness.
https://github.com/lionelsu/lionel-agrix-fase-b
docker java maven rest-api spring-boot test-automation
Last synced: about 1 month ago
JSON representation
About REST API designed to manage farms reducing the socio-environmental impact of agribusiness.
- Host: GitHub
- URL: https://github.com/lionelsu/lionel-agrix-fase-b
- Owner: lionelsu
- Created: 2024-03-31T16:58:51.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-06-03T13:52:19.000Z (7 months ago)
- Last Synced: 2024-06-03T15:47:42.200Z (7 months ago)
- Topics: docker, java, maven, rest-api, spring-boot, test-automation
- Language: Java
- Homepage:
- Size: 561 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AGRIX
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.
- [Fase A](https://github.com/lionelsu/lionel-agrix-fase-a)
- [Fase B](https://github.com/lionelsu/lionel-agrix-fase-b)
- [Fase C](https://github.com/lionelsu/lionel-agrix-fase-c)## Funcionalidades da API
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## Endpoints da API
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.
* `GET /crops/search?start=yyyy-MM-dd&end=yyyy-MM-dd`: Filtra uma plantação a partir da data de sua colheita.
* `POST /fertilizers`: Cria um novo fertilizante.
* `GET /fertilizers`: Retorna todos os fertilizantes.
* `GET /fertilizers/{id}`: Retorna um fertilizante específico.
* `POST /crops/{cropId}/fertilizers/{fertilizerId}`: Associa uma plantação a um fertilizante.
* `GET /crops/{cropId}/fertilizers`: Retorna os fertilizantes associados a uma plantação especifica.## Como Executar o Projeto
1. Clone o repositório.
```bash
git clone [email protected]:lionelsu/lionel-agrix-fase-b.git && cd lionel-agrix-fase-b
```2. Suba o ambiente com Docker Compose.
1. Subir o ambiente:
```bash
docker-compose up -d
```
2. Encerrar o ambiente:
```bash
docker-compose down
```3. Execute o Spring Boot.
```bash
mvn spring-boot:run
```