Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NLW Connect Java

ℹ️ Sobre

Sistema de inscrições em eventos, onde os usuários podem se inscrever, gerar links de indicação e acompanhar um ranking de indicações.

🚀 Tecnologias

O projeto foi desenvolvido com as seguintes tecnologias:

  • Java 17
  • Spring Boot 3.4.2
  • Maven

Dependências utilizadas:

  • Spring Web
  • Spring Boot DevTools
  • Spring Data JPA
  • MySQL Driver

📂 Estrutura do Projeto

O projeto segue a organização tradicional do Spring Boot, adotando a separação de responsabilidades.

Padrão em camadas: Model, Controller, Service, Repository, Padrão DTO.

Image

Diagrama Entidade-Relacionamento:

Image

✨ Funcionalidades

  • 📌 Inscrição: Usuários podem se inscrever em eventos informando nome e e-mail.
  • 🔗 Geração de Link de Indicação: Cada inscrito pode gerar um link de indicação único.
  • 📊 Ranking de Indicações: Exibe um ranking baseado no número de indicações bem-sucedidas.
  • 👥 Visualização de Indicações: Cada usuário pode ver quantas pessoas se inscreveram usando seu link.

🌐 Rotas da API

Principais rotas disponíveis na aplicação:

🎟️ Eventos

  • Criar um evento
    (POST) /events
    Image

  • Listar todos os eventos
    (GET) /events
    Image

  • Obter evento por nome formatado
    (GET) /events/{prettyName}
    Image

📝 Inscrição

  • Realizar inscrição no evento
    (POST) /subscription/{prettyName}
    Image

  • Cadastrar usuário com id de indicação
    (POST) /subscription/{prettyName}/ranking/{userId}
    Image

  • Visualizar ranking de indicações de um evento
    (GET) /subscription/{prettyName}/ranking
    Image

  • Visualizar ranking de indicações de um usuário específico
    (GET) /subscription/{prettyName}/ranking/{userId}
    Image

▶️ Como Rodar o Projeto

Para executar o projeto localmente, siga os passos abaixo:

  1. Clone o repositório:

    git clone --branch aula3 --single-branch https://github.com/lucaslpdacosta/nlw-connect-java.git
  2. Importe o projeto na sua IDE de escolha (Eclipse, IntelliJ, STS):

    • Selecione Import > Import Maven Projects
  3. Configure o banco de dados:

    • Edite o arquivo application.properties e adapte o valor de spring.datasource.password (linha 3) conforme sua configuração local.

    • No MySQL, crie o schema do banco de dados:

      CREATE SCHEMA db_events;
  4. Inicie o servidor:

    • Execute a aplicação dentro da sua IDE ou via terminal com:

      mvn spring-boot:run

About

Trilha Java NWL Connect 2025 Rocketseat

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages