Skip to content

Projeto equivalente ao backend desenvolvido (agora com Spring Boot e Java) na 5ª edição do hackaton da FCamara, em que fui aprovado.

Notifications You must be signed in to change notification settings

gustas01/orange-portfolio-spring

Repository files navigation

Orange Portfólio - Back End - Spring Boot

Static Badge Static Badge Static Badge Static Badge

💻 Sobre

Backend do Orange Portfolio similir ao feito em NestJS na 4ª edição do hackaton da FCamara, agora sendo refeito por mim em Java com Spring Boot. As funcionalidades são basicamente as mesmas, porém adicionado um requisito não funcional que a autorização por Roles (cargos - funções) para criação, atualização e deleção das Tags que identificam o conteúdo dos projetos; além de testes unitários e de integração para ajudar a garantir a confiabilidade e consistência do projeto.

🛠️ Tecnologias utilizadas

SPRINGBOOT JAVA POSTGRE TYPEORM SWAGGER SWAGGER SWAGGER SWAGGER

⚙️ Funcionalidades

  • Cadastro de usuário
  • Login com o Google
  • Login com email e senha
  • Cadastro de Projetos
  • Edição de projetos
  • Exclusão de projetos
  • Descoberta de novos projetos
  • Filtragem projetos por categorias

👨‍💻 Como executar localmente

OBS: Tanto o Java quanto o Maven instalados e suas variáveis de ambiente configuradas no local em que será executada a aplicação.

1º passo - Depois de clonar o projeto, crie um arquivo chamado application-local.properties dentro de src/main/resources e o preencha com as informações que se pede:

# A url de conexão com o seu banco de dados.
spring.datasource.url=

# O dialeto do banco que será usado pelo Hibernate. Caso vá usar o PostgreSQL, não é necessário alterar essa informação.
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

# A string secreta que será usada para gerar os tokens
api.security.token.secret=

# ID do clinte imgur para upload das imagens.
client_id_imgur=

# ID do cliente do google para o login (oauth with google)
spring.security.oauth2.client.registration.google.client-id=

# Secret key encontrada no mesmo lugar do ID, e para o mesmo propósito
spring.security.oauth2.client.registration.google.client-secret=

2º passo - No terminal aberto na raiz do projeto, execute o comando mvn dependency:resolve para baixar as dependências e compilar a aplicação.

3º passo - No terminal aberto na raiz do projeto, execute o comando mvn spring-boot:run para executar a aplicação.

👨‍💻 Como executar os testes localmente

No terminal aberto na raiz do projeto, execute o comando mvn test para executar os testes da aplicação.

Gerar artefato para produção

Para gerar o artefato para fazer o deploy da aplicação em produção, execute o comando mvn clean install, assim o maven vai baixar as dependências, compilar, executar os testes e gerar o artefato .jar.

Executar a aplicação em container

Basta preencher as informações faltantes no arquivo application-container.properties igualmente feito no application-local.properties e subir o docker-compose com os comandos:
1º - docker-compose build
2º - docker-compose up

About

Projeto equivalente ao backend desenvolvido (agora com Spring Boot e Java) na 5ª edição do hackaton da FCamara, em que fui aprovado.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published