O desafio é criar uma aplicação que permita que hóspedes façam reservas em uma casa de temporada através de uma API Rest.
O projeto é um CRUD com Angular + Spring Boot.
- Front-end
- AngularJs
- AngularMaterial
- SCSS
- Back-end
- Java 17
- Spring Boot 3.1.2
- Maven
- Spring Data JPA + Hibernate
- Spring Boot DevTools
- Spring Web
- H2 Database
Em desenvolvimento.
Você precisa ter Java e Mavem instalados e configurados localmente.
Abra o projeto backend
na sua IDE favorita como projeto Maven e execute como aplicação Spring Boot.
Você pode verificar se o projeto está funcionando acessando a porta http://localhost:8080 e o H2 Database na http://localhost:8080/h2-console.
Você precisará ter Node.js / NPM instalados localmente.
- Entre na pasta do projeto Angular:
cd frontend
- Instale todas as dependências necessárias:
npm install
- Execute o projeto:
npm start
Esse comando irá rodar o projeto Angular com um proxy para o servidor Java.
Abra seu browser e acesse a 🚪 http://localhost:4200 (porta padrão do Angular).
Planejo realizar as seguintes melhorias na aplicação:
- Melhorar o gerenciamento de estado, permitindo que as reservas sejam renderizadas sem precisar atualizar a página. Isso irá permitir que a aplicação atualize as informações das reservas sem precisar atualizar a página inteira. Isso tornará a aplicação mais responsiva e melhorará a experiência do usuário.
- Implementar um deploy com o projeto completo. Isso irá facilitar a implantação da aplicação em produção. Também irá garantir que todos os componentes da aplicação estejam atualizados.
- Realizar testes automatizados. Isso irá ajudar a identificar e corrigir bugs na aplicação. Também irá ajudar a garantir a qualidade da aplicação.
- Acrescentar validações que não foram implementadas durante o desenvolvimento. Isso irá ajudar a garantir que os dados inseridos pelos usuários sejam válidos. Também irá ajudar a evitar ataques maliciosos à aplicação.
- Criar uma documentação utilizando Swagger. Isso irá ajudar os desenvolvedores a entender como usar a aplicação. Também irá ajudar a manter a documentação da aplicação atualizada.
Acredito que essas melhorias irão tornar a aplicação mais eficiente, escalável e confiável. Também irão facilitar a manutenção e o desenvolvimento da aplicação no futuro.
Desenvolvido por: Júlia Marques.