Skip to content

sahid-sousa/feed-hub

Repository files navigation

Java 21 Maven Spring Boot Docker Continuous Integration With Github Actions

📡 Feed Hub

Feed Hub é uma API desenvolvida em Java com Spring Boot e Mavem, utilizando PostgreSQL como banco de dados. O projeto está containerizado com Docker para facilitar o ambiente de desenvolvimento e execução.


🚀 Tecnologias Utilizadas

  • Java 21
  • Spring Boot
  • PostgreSQL 12.4
  • Docker
  • Docker Compose

🛠️ Pré-requisitos

Certifique-se de ter os seguintes softwares instalados:


🧪 Subindo a aplicação com Docker Compose

Para rodar a aplicação localmente com Docker Compose:

docker-compose up --build

A aplicação será exposta na porta 8085 e o banco de dados na porta 5432.


🌐 Endpoints

Após o container estar em execução, a API poderá ser acessada via:

http://localhost:8085/swagger-ui/index.html

⚙️ Configurações

As principais variáveis de ambiente já estão definidas no docker-compose.yml:

Variável Valor Descrição
SERVER_PORT 8080 Porta interna do container
DATASOURCE_URL jdbc:postgresql://postgres-db/feedhub_development URL do banco de dados
DATASOURCE_USERNAME postgres Usuário do banco de dados
DATASOURCE_PASSWORD postgres Senha do banco de dados
DATASOURCE_DBCREATE update Estratégia de atualização do schema
SECRET_KEY 4Z^XrroxR@dWxqf$mTTKwW$!@#qGr4P Chave secreta para autenticação JWT
ISSUER feedhub Emissor do token
VALIDITY 3600000 Validade do token em milissegundos

🩺 Healthcheck

O container postgres-db possui um healthcheck configurado para garantir que o banco esteja pronto antes de iniciar a aplicação.


📂 Estrutura do Projeto

A aplicação Spring Boot é empacotada como um .jar e copiada via Dockerfile:

FROM openjdk:21
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

🧼 Parando os containers

Para parar e remover os containers criados:

docker-compose down

Para remover volumes e dados persistentes, execute com -v:

docker-compose down -v

About

Permitir que usuários registrem feedbacks ou sugestões sobre produtos, serviços ou sistemas.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages