O Studio Fun é um sistema de gestão completo para studios de fitness e academias. O projeto foca na automatização de cobranças, controle de matrículas e comunicação eficiente com o aluno através de e-mails automatizados e um dashboard intuitivo.
- Backend: Python 3.x com Flask
- Banco de Dados: PostgreSQL / SQLAlchemy (ORM)
- Fila de Tarefas: Celery com Redis
- Frontend: Bootstrap 5, Jinja2 e FontAwesome
- Segurança: Flask-Login e Werkzeug para hashing de senhas
- E-mail: Flask-Mail com templates HTML customizados
- Gestão de Planos: Criação de ciclos personalizados (Quinzenal, Mensal, Anual, etc.).
- Matrícula Inteligente: Vinculação automática de aluno, plano e turma.
- Automação de E-mails:
- Boas-vindas personalizado com cronograma de aulas.
- Envio de faturas com QR Code PIX (Dark Style).
- Trava de segurança (Log) para evitar envios duplicados.
- Cobrança Automática: Jobs agendados para verificar vencimentos e gerar faturas.
- Dashboard Administrativo: Controle total de alunos e turmas.
git clone [https://github.com/seu-usuario/studio-fun.git](https://github.com/seu-usuario/studio-fun.git)
cd studio-funpython -m venv venv
source venv/bin/activate # No Windows: venv\Scripts\activate
pip install -r requirements.txtFLASK_APP=run.py
SECRET_KEY=sua_chave_secreta
DATABASE_URL=postgresql://user:password@localhost/studio_fun
MAIL_SERVER=smtp.gmail.com
MAIL_PORT=587
MAIL_USE_TLS=True
MAIL_USERNAME=seu-email@gmail.com
MAIL_PASSWORD=sua-senha-app
REDIS_URL=redis://localhost:6379/0flask shell
>>> from app import db
>>> db.create_all()
>>> exit()Em terminais separados, rode:
# Terminal 1: Flask App
flask run
# Terminal 2: Celery Worker
celery -A app.celery worker --loglevel=info
# Terminal 3: Celery Beat (Para os Jobs agendados)
celery -A app.celery beat --loglevel=infoOs templates de e-mail seguem a identidade visual do Studio Fun (Dark/Green Tech para faturas e Red/Professional para boas-vindas), localizados em app/templates/emails/.
1.Faça um Fork do projeto
2.Crie uma branch para sua feature (git checkout -b feature/NovaFeature)
3.Comite suas mudanças (git commit -m 'Adicionando nova feature')
4.Push para a branch (git push origin feature/NovaFeature)
5.Abra um Pull Request