Skip to content

Kaike-R/WorkoutTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Claro! Aqui está um exemplo de README para o seu projeto "Workout Tracker", utilizando Spring Boot, arquitetura monolítica em camadas, PostgreSQL e Docker:


Workout Tracker

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.

Tecnologias

  • 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.

Funcionalidades

  • 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.

Estrutura do Projeto

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.).

Configuração do Ambiente

Requisitos

  • JDK 11 ou superior
  • Docker
  • PostgreSQL (será configurado via Docker)

Rodando o Projeto com Docker

  1. Clone este repositório:

    git clone https://github.com/usuario/workout-tracker.git
    cd workout-tracker
  2. Compile a aplicação:

    ./mvnw clean install
  3. 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.

  4. A aplicação estará disponível em http://localhost:8080.

Variáveis de Ambiente

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=senha

Docker Compose

O 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:
      - postgres

Endpoints

  • POST /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.

Contribuindo

  1. Faça um fork deste repositório.
  2. Crie uma branch para a sua feature (git checkout -b feature/nome-da-feature).
  3. Comite suas alterações (git commit -am 'Adiciona nova funcionalidade').
  4. Envie para o repositório remoto (git push origin feature/nome-da-feature).
  5. Abra um Pull Request.

Licença

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!

About

Esse é um estudo pratico meu baseado no desafio do https://roadmap.sh/backend/project-ideas#9-fitness-workout-tracker para fazer um backend utilizando Spring boot monolito arquitetura em camadas

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages