Skip to content

FórumHub é uma API desenvolvida em Java com Spring Boot como parte do programa de formação ONE - Oracle Next Education.

Notifications You must be signed in to change notification settings

felipel7/challenge-java-forum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FórumHub Challenge

Esta API foi construída durante o programa de formação da ONE-Oracle Next Education, turma 6.


Resumo

O FórumHub é uma API desenvolvida em Java com Spring Boot. Na API, você pode realizar operações de:

  • CRUD de cursos
  • CRUD de tópicos
  • CRUD de respostas

Além disso, os usuários podem se cadastrar. As rotas protegidas para usuários autenticados incluem operações que envolvem POST, PUT e DELETE.


Demonstração

  • Registro de usuário: register

    Não é possível cadastrar usuário com o mesmo username ou email.


  • Login de usuário: login

    Token expira após 1 hora.


  • CRUD de cursos: course

  • CRUD de tópicos: topic

    Implementei deleção lógica somente para tópicos.


  • CRUD de respostas: reply

  • Documentação: docs


Tecnologias Utilizadas

  • Java 17
  • Spring Boot
  • Spring Data JPA
  • Docker
  • MySql
  • Spring Security
  • Spring Validation
  • Spring Web
  • Flyway (para migrações de banco de dados)
  • Lombok
  • Spring Boot DevTools
  • Java JWT (Auth0)
  • Springdoc OpenAPI


Executando o projeto localmente

  1. Pré-requisitos:
    • Certifique-se de ter o Docker e o Docker Compose instalados.

  1. Clone o Repositório:
    • Clone o repositório do FórumHub:
      git clone git@github.com:felipel7/challenge-java-forum.git
      

  1. Configuração do Banco de Dados:
    • Navegue até o diretório do projeto clonado.

    • Execute o comando docker compose up -d para iniciar o contêiner do mysql.

    • Após o contêiner estar em execução, abra um terminal e execute o comando:

      docker exec -it forum-mysql-1 bash
      
    • Dentro do contêiner, execute o comando:

      mysql -u root -p
      

      A senha foi definida como root no application.properties

    • No prompt do mysql, crie o banco de dados FórumHub com o comando:

      CREATE DATABASE forum;
      

  1. Execução da Aplicação:
    • Após configurar o banco de dados, você pode executar a aplicação Java normalmente.

  1. Documentação:


Feito com carinho ♡ por Felipe Silva :)

About

FórumHub é uma API desenvolvida em Java com Spring Boot como parte do programa de formação ONE - Oracle Next Education.

Resources

Stars

Watchers

Forks

Languages