Boas-vindas ao repositório Agrix.
Este projeto apresenta uma API RESTful que facilita a gestão e o monitoramento de fazendas, possibilitando às pessoas usuárias criar, visualizar, atualizar e excluir fazendas, plantações e fertilizantes de forma intuitiva e prática. A API oferece endpoints específicos para operações CRUD (Create, Read, Update, Delete) em listas de plantações e fazendas, visando proporcionar uma experiência consistente e confiável. Além de um autenticação e autorização de rotas.
No projeto, é utilizado o arquivo de configuração intellij-java-google-style.xml do Google, que define um conjunto de diretrizes de codificação baseadas nas práticas recomendadas do Google para Java.
Para executar a análise, utilize o comando:
mvn checkstyle:check
-
Clone o repositório (Utilizar Link SSH)
-
Instalação e compilação dos recursos necessários
mvn install -DskipTests
-
Inicializar projeto
mvn spring-boot:run
A documentação da API é gerada automaticamente através do Springdoc-openapi e estará disponível em Swagger UI através do endpoint http://localhost:8080/swagger-ui/index.html quando a aplicação estiver em execução. A documentação inclui detalhes sobre os endpoints disponíveis, os parâmetros necessários, os códigos de resposta e exemplos de solicitações.
Endpoints da Aplicação
- Método: POST
- URL: /persons
- Descrição: Cria novo usuário
- Método: POST
- URL: /auth/login
- Descrição: Autenticação de usuário
- Método: POST
- URL: /farms
- Descrição: Cria nova fazenda
- Método: GET
- URL: /farms
- Descrição: Retorna todas as fazendas disponíveis
- Método: GET
- URL: /farms/{farmId}
- Descrição: Retorna informações de uma fazenda específica
- Método: POST
- URL: /farms/{farmId}/crops
- Descrição: Cria nova plantação
- Método: GET
- URL: /farms/{farmId}/crops
- Descrição: Retorna todas as plantações disponíveis em uma fazenda específica
Nota: Os outros endpoints podem ser encontrados na documentação no endpoint /swagger-ui/index.html
Este arquivo contém uma coleção de endpoints para a plataforma Insomnia, que podem ser importados diretamente para a aplicação, simplificando o processo de teste e interação com a API.