Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arthurlunkes/desafios_alfa
Desafios da Alfa Consultorias realizados utilizando spring boot com java, react e banco H2.
https://github.com/arthurlunkes/desafios_alfa
css h2-database html5 java javascript reactjs spring-boot
Last synced: 20 days ago
JSON representation
Desafios da Alfa Consultorias realizados utilizando spring boot com java, react e banco H2.
- Host: GitHub
- URL: https://github.com/arthurlunkes/desafios_alfa
- Owner: arthurlunkes
- Created: 2023-08-02T17:44:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-08-27T22:05:33.000Z (over 1 year ago)
- Last Synced: 2023-08-27T23:25:17.078Z (over 1 year ago)
- Topics: css, h2-database, html5, java, javascript, reactjs, spring-boot
- Language: Java
- Homepage:
- Size: 444 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Desafios_Alfa
![desafio 1](https://github.com/arthurlunkes/Desafios_Alfa/blob/main/images/desafio1.PNG)## Descrição do projeto
Desafios da Alfa Consultorias realizados utilizando Spring Boot com Java, React-js e banco H2.
Desafio 1: Criar um gerenciador de chamados simples (CRUD).
Desafio 2: Criar uma API para consumir outra API de buscar receitas pelo nome do prato.
## Tecnologias Utilizadas
- Java 17
- Spring Boot
- React### Tópicos importantes
- Backend desafio 1 (Java com Spring)
- Frontend desafio 1 (React)
- Backend desafio 2 (Java com Spring)
- Informações adicionais
- Passos para rodar esse projeto
- Considerações finais
- Possíveis Melhorias
Backend desafio 1 (Java com Spring)
### Descrição
O Backend do sistema foi desenvolvido utilizando a linguagem Java juntamente com Spring. Essa camada é responsável por gerenciar a lógica de negócio, acessar o banco de dados e disponibilizar APIs REST para serem consumidas pelo Frontend.
| Método | Backend | Frontend |
|--|--|--|
| GET | ✔️ | ✔️ |
| POST | ✔️ | ✔️ |
| PUT | ✔️ | ✔️ |
| DEL | ✔️ | ✔️ |### Funcionalidades Implementadas
- CRUD (Create, Read, Update, Delete) de chamados
- Validação de dados e tratamento de erros
- Integração com banco de dados utilizando Spring Data JPA e banco de dados em memória H2
- Implementação de endpoints REST
- Documentação da API utilizando o PostmanFrontend desafio 1 (React)
### Descrição
O Frontend do sistema foi desenvolvido utilizando a biblioteca React. Essa camada é responsável por apresentar a interface de usuário, realizar requisições para o Backend e exibir os dados de forma interativa e amigável.
### Funcionalidades Implementadas
- Criação de componentes reutilizáveis
- Gerenciamento de estado
- Roteamento de páginas utilizando React Router
- Consumo de APIs RESTful utilizando a biblioteca Axios
- Estilização de componentes utilizando CSS e bibliotecasBackend desafio 2 (Java com Spring)
### Descrição
O Backend do sistema foi desenvolvido utilizando a linguagem Java juntamente com Spring. Essa camada é responsável por gerenciar a lógica de negócio e disponibilizar APIs REST para serem consumidas.
| Método | Backend |
|--|--|
| GET | ✔️ |
| POST | ✔️ |
| PUT | ✔️ |
| DEL | ✔️ |### Funcionalidades Implementadas
- Validação de dados e tratamento de erros
- Implementação de endpoints REST
- Documentação da API utilizando o PostmanInformações adicionais
- Algumas informações úteis estão no arquivo application.properties para o desafio 1:
![properties desafio 1](https://github.com/arthurlunkes/Desafios_Alfa/blob/main/images/properties.PNG)
- Pode acessar a documentação de consumo dos endpoints no Postman [aqui!](https://www.postman.com/spacecraft-participant-60213181/workspace/workspacepublic/collection/19564710-269cef77-f786-44e7-a250-577d71f4e615?action=share&creator=19564710), está tudo organizado em pastas e cada request tem seus exemplos de sucesso e erro.
![postman](https://github.com/arthurlunkes/Desafios_Alfa/blob/main/images/postman.PNG)- Quando rodar o backend do desafio 1, pode acessar o banco H2 pelo navegador utilizando o link: http://localhost:8080/h2-console
Passos para rodar esse projeto
1. Baixe esse repositório via git ou GitHub Desktop
2. Abra a pasta do backend com a IDE de sua preferência
3. Baixe as dependências do projeto, seguindo os passo a passo da sua IDE
4. Starte a aplicação a partir da classe ...Application
5. Abra a pasta do frontend com o VSCode (exceto para projeto 2 que não tem frontend)
6. Abra o terminal na pasta
7. Rode o comando npm install (Para instalar as dependências)
8. Após terminar de baixar, rode o comando npm start
9. Pronto para testar!Considerações finais
O desenvolvimento dos desafios utilizando Java com Spring Boot e React foi concluído com sucesso, com todos os requisitos funcionando corretamente. Foi feito o tratamento dos erros no desafio 2, com os códigos HTTP apropriados, visto que a API original não tinha esses tratamentos.
Possíveis Melhorias
- Incluir testes automatizados para garantir a qualidade e a robustez do código.
- Expandir as funcionalidades dos desafios ou criar novos desafios para praticar ainda mais as habilidades em programação.