Aplicacion web para funcionarios de ANDA que integra:
- Reserva de salones y espacios para eventos.
- Gestion de biblioteca y prestamos de libros.
- Paneles diferenciados para usuarios y administradores.
- Frontend: React 19 + Webpack + Bootstrap
- Backend: Flask + SQLAlchemy + Flask-Migrate + JWT
- Base de datos: SQLite (local por defecto) o PostgreSQL (deploy)
- Ejecucion local backend: Pipenv
- Node.js
>=16(recomendado: 18 o 20) - npm
- Python
3.11.x(segunPipfile) - Pipenv
- Clonar repositorio:
git clone https://github.com/4GeeksAcademy/ANDA-Club-de-funcionarios.git
cd ANDA-Club-de-funcionarios- Instalar dependencias frontend:
npm install- Instalar dependencias backend:
python -m pipenv install- Crear archivo
.env:
- Windows PowerShell:
Copy-Item .env.example .env- macOS/Linux:
cp .env.example .env- Revisar variables minimas en
.env:
DATABASE_URL=sqlite:///database.db
FLASK_APP=src/app.py
FLASK_DEBUG=1
JWT_SECRET_KEY=dev_jwt_secret_change_me
BACKEND_URL=http://127.0.0.1:3001Nota: Si BACKEND_URL falta en frontend, la app muestra una pantalla de configuracion en lugar del contenido principal.
- Levantar backend (puerto
3001):
python -m pipenv run start- En otra terminal, levantar frontend (puerto
3000):
npm run start- Abrir en navegador:
- Frontend:
http://127.0.0.1:3000 - Backend (ejemplo endpoint):
http://127.0.0.1:3001/api/hello
Comandos disponibles (definidos en Pipfile):
python -m pipenv run init
python -m pipenv run migrate
python -m pipenv run upgrade
python -m pipenv run downgradenpm run buildSalida en dist/.
- Procfile/Render usan gunicorn:
gunicorn wsgi --chdir ./src/render.yamlyProcfileya incluyen el comando de arranque.
ANDA-Club-de-funcionarios/
|-- src/
| |-- api/ # modelos, rutas y logica backend
| |-- front/ # aplicacion React
| |-- app.py # app Flask principal
| `-- wsgi.py # entrypoint para gunicorn
|-- migrations/
|-- public/
|-- dist/
|-- package.json
|-- Pipfile
|-- .env.example
`-- README.md
pipenv: command not found: usarpython -m pipenv ...o agregar Pipenv alPATH.- Frontend carga pero no consume API: confirmar
BACKEND_URLen.env. - Errores de DB en local: asegurar
DATABASE_URL=sqlite:///database.dby correrpython -m pipenv run upgrade.
- Crear rama:
git checkout -b feature/mi-cambio- Hacer cambios y commit.
- Abrir Pull Request.
MIT.