MyFiubaGymBro is a web platform developed as a project for FIUBA. It is designed to help students stay in shape and keep a healthy track of their habits. The system features a FastAPI backend, a React + TypeScript frontend, and a PostgreSQL database, all orchestrated with Docker and ready for development using DevContainers.
A detailed platform for student wellness. It uses a layered architecture (routers, dtos, services, repositories) to ensure scalability and maintainability.
- π Python + FastAPI + SQLAlchemy
- π PostgreSQL + Alembic (Migrations)
- βοΈ React + TypeScript + Vite
- π³ Docker + Docker Compose
- π οΈ DevContainer for consistent development environments.
.
βββ .devcontainer/ # DevContainer configuration
βββ backend/ # FastAPI source code
βββ frontend/ # React + Vite source code
βββ local-running/ # Docker Compose orchestration scripts
βββ setup.sh # Initial setup script
βββ README.md
- Docker & Docker Compose.
- Visual Studio Code + Dev Containers extension (highly recommended).
-
Clone the repository:
git clone git@github.com:SebaB29/MyFiubaGymBro.git cd myFiubaGymBro -
Environment Variables:
Create a.envfile in thebackend/folder:DATABASE_URL=postgresql://postgres:secret@db:5432/myfiubagymbro
- Open the project folder in VS Code.
- Click "Reopen in Container" when prompted (or use
Ctrl+Shift+PβDev Containers: Reopen in Container). - Services will be available at:
- Backend:
http://localhost:8000 - Frontend:
http://localhost:8080
- Backend:
cd backend
pip install -r requirements.txt
alembic upgrade head
fastapi run src/main.py --port 8000- API Docs: http://localhost:8000/docs
- Tests: Run
pytestinside the backend folder.
cd frontend
npm install
npm run dev- Access at: http://localhost:8080
To run everything without DevContainers:
./start.sh # Starts all services
./stop.sh # Stops all services- Fork the project.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the Branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
| Nombre | Usuario de GitHub |
|---|---|
| SebastiΓ‘n Brizuela | @SebaB29 |
| Federico Solari | @FedericoSolari |
| Luciano Gamberale | @lucianogamberale |
| JoaquΓn Velurtas | @joaquinvelurtas |
| Santiago Rocco | @SantiagoRocco |
This project is licensed under the MIT License - see the LICENSE file for details.