myFiubaGymBro es una plataforma web desarrollada como trabajo práctico para FIUBA, pensada para ayudar a estudiantes a mantenerse en forma y llevar un registro saludable de sus hábitos. Está compuesta por un backend en FastAPI, un frontend en React + TypeScript, y una base de datos PostgreSQL, todo orquestado con Docker y lista para correr en DevContainers.
- 📦 Tecnologías principales
- 🧱 Estructura del proyecto
- ⚙️ Requisitos previos
- 🧪 Desarrollo local con DevContainer
- 🐘 Configuración de la base de datos
- 🛠️ Backend (FastAPI)
- 💻 Frontend (React + Vite)
- 🐳 Docker Compose
- 👥 Integrantes
- 🐍 Python + FastAPI + SQLAlchemy
- 🧠 Arquitectura en capas (routers, dtos, services, repositories)
- 🐘 PostgreSQL + Alembic
- ⚛️ React + TypeScript + Vite
- 🐳 Docker + Docker Compose
- 🛠️ DevContainer para entorno de desarrollo consistente
.
├── .devcontainer/ # Configuración para DevContainer
├── backend/ # Backend FastAPI
├── frontend/ # Frontend React + Vite
├── local-running/ # Scripts para correr con Docker Compose
├── README.md
├── package-lock.json
└── setup.sh
- Docker
- Visual Studio Code + extensión Dev Containers (opcional pero recomendado)
- Abrí el proyecto en VS Code.
- Si se te solicita, hacé clic en "Reabrir en contenedor".
- El entorno se levantará automáticamente con:
- Backend:
http://localhost:8000 - Frontend:
http://localhost:8080
- Backend:
Si no te aparece la opción, usá
Ctrl+Shift+P → Dev Containers: Reopen in Container.
La base PostgreSQL está definida en docker-compose.yml.
Host: db
Puerto: 5432
Usuario: postgres
Contraseña: secret
Base de datos: myfiubagymbro
Agregar en el .env del backend:
DATABASE_URL=postgresql://postgres:secret@db:5432/myfiubagymbrocd backend
pip install -r requirements.txtalembic upgrade headalembic revision --autogenerate -m "descripcion"
alembic upgrade headfastapi run src/main.py --port 8000- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
pytestcd frontend
npm installnpm run devAcceder en http://localhost:8080
npm run build
npm run previewSi preferís usar Docker Compose directamente (fuera del DevContainer):
./start.sh # Inicia todos los servicios
./stop.sh # Detiene todos los serviciosAccesos:
- Frontend: http://localhost:8080
- Backend Docs: http://localhost:8000/docs
| Nombre | Usuario de GitHub |
|---|---|
| Sebastián Brizuela | @SebaB29 |
| Federico Solari | @FedericoSolari |
| Luciano Gamberale | @lucianogamberale |
| Joaquín Velurtas | @joaquinvelurtas |
| Santiago Rocco | @SantiagoRocco |