Claro! Aqui está um exemplo de README para o seu projeto "Workout Tracker", utilizando Spring Boot, arquitetura monolítica em camadas, PostgreSQL e Docker:
Este é um projeto de Workout Tracker, desenvolvido com Spring Boot, utilizando arquitetura monolítica em camadas e banco de dados PostgreSQL. O objetivo deste aplicativo é permitir que os usuários registrem, visualizem e acompanhem seus treinos de forma eficiente e organizada.
- Spring Boot: Framework utilizado para construir o backend da aplicação.
- Arquitetura Monolítica em Camadas: A estrutura do código é dividida em camadas (Controller, Service, Repository), facilitando a manutenção e escalabilidade.
- PostgreSQL: Banco de dados relacional utilizado para armazenar os dados dos usuários e dos treinos.
- Docker: Containerização da aplicação para facilitar o desenvolvimento, testes e deployment.
- Registro de novos treinos com detalhes como tipo de exercício, séries, repetições e tempo.
- Visualização de treinos passados.
- Edição e exclusão de treinos.
- Autenticação de usuários.
O projeto segue uma arquitetura em camadas, com as seguintes principais pastas:
- controller: Controladores REST que lidam com as requisições HTTP.
- service: Contém a lógica de negócios.
- repository: Responsável pela comunicação com o banco de dados (utiliza Spring Data JPA).
- model: Definições das entidades (como
Workout,User, etc.).
- JDK 11 ou superior
- Docker
- PostgreSQL (será configurado via Docker)
-
Clone este repositório:
git clone https://github.com/usuario/workout-tracker.git cd workout-tracker -
Compile a aplicação:
./mvnw clean install
-
Construa e inicie os containers do Docker (incluindo o PostgreSQL):
docker-compose up --build
Isso irá construir o banco de dados PostgreSQL e o aplicativo Spring Boot em containers Docker.
-
A aplicação estará disponível em
http://localhost:8080.
O arquivo application.properties ou application.yml pode ser configurado para apontar para o banco de dados PostgreSQL que está rodando no Docker.
spring.datasource.url=jdbc:postgresql://localhost:5432/workout_tracker
spring.datasource.username=postgres
spring.datasource.password=senhaO projeto inclui um arquivo docker-compose.yml para configurar o PostgreSQL:
version: '3'
services:
postgres:
image: postgres:latest
container_name: workout_tracker_db
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: senha
POSTGRES_DB: workout_tracker
ports:
- "5432:5432"
app:
image: workout-tracker:latest
container_name: workout_tracker_app
ports:
- "8080:8080"
depends_on:
- postgresPOST /api/workouts: Criar um novo treino.GET /api/workouts: Listar todos os treinos.GET /api/workouts/{id}: Obter detalhes de um treino específico.PUT /api/workouts/{id}: Atualizar um treino existente.DELETE /api/workouts/{id}: Excluir um treino.
- Faça um fork deste repositório.
- Crie uma branch para a sua feature (
git checkout -b feature/nome-da-feature). - Comite suas alterações (
git commit -am 'Adiciona nova funcionalidade'). - Envie para o repositório remoto (
git push origin feature/nome-da-feature). - Abra um Pull Request.
Este projeto está licenciado sob a MIT License.
Isso deve cobrir as informações essenciais sobre como configurar e rodar seu projeto. Caso precise de mais detalhes ou ajustes, fique à vontade para pedir!