CoDRAW é uma lousa digital colaborativa em fase inicial, com backend em FastAPI e frontend estático servido na raiz da aplicação.
- Python 3.10+
- pip
- (Opcional) crie e ative um ambiente virtual.
- Instale as dependências:
pip install -r requirements.txtUse este comando na raiz do projeto:
py -m uvicorn app.main:app --reload --port 8000- App (frontend): http://127.0.0.1:8000
- Healthcheck: http://127.0.0.1:8000/health
- Documentação Swagger: http://127.0.0.1:8000/docs
- Python
- FastAPI
- Uvicorn (ASGI)
- Pydantic
- CORS Middleware
- StaticFiles (FastAPI/Starlette)
- SQLite
- sqlite3 (biblioteca padrao do Python)
- HTML5
- CSS3
- JavaScript (Vanilla)
- Canvas 2D (API nativa do navegador)
- Fetch API
- Polling (
setInterval)
- Frontend e backend na mesma origem:
http://127.0.0.1:8000. - Frontend servido pelo backend via
StaticFiles. - Persistência local via SQLite (
app/lousa.db).
POST /api/salascria salaGET /api/salas/{codigo}busca salaGET /api/salas/{codigo}/tracoslista traçosPOST /api/salas/{codigo}/tracossalva traçoDELETE /api/salas/{codigo}/tracoslimpa lousa (com senha)
Para facilitar os testes de entrada em sala existente, use:
- Codigo da sala:
sala-teste
Passos:
- Abra
http://127.0.0.1:8000 - Informe
sala-testeno campo de codigo da sala - Informe seu nome
- Clique em Entrar na sala
app/main.py: inicialização da APIapp/routes.py: rotas da aplicaçãoapp/database.py: conexão e schema SQLitefrontend/index.html: interfacefrontend/script.js: lógica do canvas e integração com APIfrontend/style.css: estilos
Os dados ficam em app/lousa.db (SQLite).