A NLW, idealizada pela Rocketseat, pode-se traduzir como: "Next Level Week"! Uma semana de código para colocar em prática e elevar o nível da sua programação!
A aplicação Backend Planner tem como principal funcionalidade o cadastro de uma viagem com suas informações principais para que possa auxiliar no planejamento e gerenciamento.
Meu objetivo em participar do evento foi a revisão de conceitos e recursos do mundo Java e Spring, o que colaborou para estudar e ampliar meus conhecimentos! 😄
-
Cadastro de Viagem:
O usuário informa o destino, data de início, data de término, e-mails dos convidados, nome completo e e-mail.
-
Confirmação de Viagem:
O criador da viagem recebe um e-mail com um link para confirmar a nova viagem.
Ao clicar no link, a viagem é confirmada, os convidados recebem e-mails de confirmação e o criador é redirecionado para a página da viagem.
-
Confirmação de Convidado:
Ao clicar no link de confirmação, o convidado é redirecionado para o aplicativo.
O convidado deve informar seu nome (além do e-mail que já estará preenchido).
O convidado é confirmado na viagem após informar seu nome.
-
Links Importantes da Viagem:
Na página do evento, os participantes da viagem podem adicionar links importantes da viagem, como reserva de AirBnB, lugares para visitar, etc.
-
Adição de Atividades:
Na página do evento, o idealizador e convidados podem adicionar atividades que ocorrerão durante a viagem com título, data e horário.
-
Convite de Novos Participantes:
Novos participantes podem ser convidados dentro da página do evento por e-mail.
Os novos participantes devem passar pelo fluxo de confirmação como qualquer outro convidado.
Na linha de comando execute:
# Clone o repositório
$ git clone https://github.com/vgerace/planner
# Entre no diretório
$ cd planner/target
# Execute o comando abaixo para startar o app
$ java -jar planner-0.0.1-SNAPSHOT.jar
[Java]
# Entre no diretório
$ cd planner/src/main/java
$ Execute a classe PlannerApplication
- Criação do projeto com Spring, Flyway, Dev Tools, Lombok, JPA e H2 Database
- Configuração do banco de dados na aplicação
- Criação das entidades que representam uma Trip
- Criação da migration para criação da tabela Trips
- Criação do repository da entidade Viagem
- Criação do Endpoint do cadastro e consulta de viagem
- Criação do Endpoint de atualização de viagem
- Criação da tabela de Participant e Entidade
- Criação do Repository da Entidade Participante
- Criação od Endpoint de Confirmação de Participante
- Criação od Endpoint para Connvidar Participante
- Criação do Endpoint para Consultar Participantes
- Criação da tabela de Activites e Entidade
- Criação do Repository da Entidade Atividade
- Criação do Endpoint para criação da Atividadde
- Criação od Endpoint para consultar atividades de uma viagem
- Criação da tabela de Links e Entidade
- Criação do Repository da Entidade Links
- Criação do Endpoint para criação de link
- Criação do Endpoint para consultar links de uma viagem
- Implementação de validação nos campos de data. (A data de começo da viagem é inferior a data de término) e (A data de uma atividade está entre as datas da viagem)
- Extração do Core das Trips para dentro da classe Service
- Mapeamento das Exceções da Aplicação com tratativas de erro personalizadas
- [Java-JDK] (https://www.oracle.com/java/technologies/downloads/)
- [Maven] (https://maven.apache.org/download.cgi)
- [Spring Boot] (https://start.spring.io/)
- [Flyway] (https://flywaydb.org/)
- [Insomnia] (https://insomnia.rest/download)
- [Intellij] (https://www.jetbrains.com/idea/)
Quero registrar meu agradecimento a todos envolvidos da equipe Rocketseat e sua comunidade, que impulsionaram e colaboraram para a realização desse projeto.