API REST para agendamento online de serviços, construída com FastAPI, JWT e SQLite. Ideal para salões, clínicas ou qualquer negócio que trabalhe com horários marcados.
- Registro de usuários com opção de profissional ou cliente
- Login com autenticação JWT
- Agendamento de horários
- Confirmação e cancelamento de agendamentos
- Listagem de agendamentos do usuário logado
- Rotas protegidas com JWT
- Documentação automática com Swagger
- Python 3.10+
- FastAPI
- Uvicorn
- SQLAlchemy
- SQLite (pode usar PostgreSQL facilmente)
- JWT (via
python-jose
) - Swagger UI
# 1. Clonar o repositório
git clone https://github.com/seuusuario/winagendamentos-api.git
# 2. Entrar na pasta
cd winagendamentos-api
# 3. Criar ambiente virtual
python -m venv venv
source venv/bin/activate # ou venv\Scripts\activate no Windows
# 4. Instalar dependências
pip install -r requirements.txt
# 5. Criar o banco de dados
python init_db.py
# 6. Iniciar o servidor
uvicorn app.main:app --reload
Acesse: http://127.0.0.1:8000/docs
- Faça o login em
/login
usando email e senha cadastrados - Copie o
access_token
retornado - Clique em "Authorize" no Swagger e cole o token assim:
Bearer seu_token_aqui
Agora todas as rotas protegidas funcionarão!
winagendamentos/
├── app/
│ ├── main.py
│ ├── database.py
│ ├── models.py
│ ├── schemas.py
│ ├── core/
│ │ ├── security.py
│ │ └── dependencies.py
│ └── routes/
│ ├── auth.py
│ ├── users.py
│ └── appointments.py
├── init_db.py
├── requirements.txt
└── README.md
- Controle por papel (admin, profissional, cliente)
- Dashboard de agendamentos
- Integração com e-mail ou WhatsApp
- Deploy com Docker + Render
Feito com 💙 por Willian Meireles