Interface front-end do OASIS, um rastreador de hábitos com diário e estatísticas.
Este projeto contém a aplicação cliente construída com JavaScript (ES6), Fetch API e Chart.js. A interface consome a API do backend (Flask) para autenticação, gerenciamento de hábitos, categorias e registros do diário.
- Autenticação: telas de login e cadastro integradas com a API.
- Gerenciamento de hábitos: criar/editar/excluir, marcar como concluído, configurar repetição (diário/semanal/mensal) e cálculo da próxima ocorrência.
- Diário: criar múltiplas entradas por dia; histórico ordenado por data de criação.
- Estatísticas: gráficos simples (Chart.js) e indicadores como streaks e taxa de conclusão.
- Vanilla JavaScript (ES6+)
- Fetch API
- Chart.js
- HTML / CSS
- Backend em execução (API Flask). Por padrão o backend roda em
http://127.0.0.1:5000.
- Garanta que a API backend esteja rodando (veja o README do backend).
- Abra
index.htmlno navegador ou sirva a pasta com um servidor estático (ex.:python -m http.server 8000). - Faça login/registro e use a aplicação. O token JWT é salvo em
localStoragecomooasis_tokene o usuário emoasis_user.
O frontend utiliza http://127.0.0.1:5000/api como base para chamadas. Para alterar, edite api.js e atualize a constante de baseURL.
index.html— entrada da aplicação.app.js— lógica principal: gerenciadores, estado e UI.api.js— chamadas HTTP ao backend.auth.js— helpers de autenticação (login/signup, token storage).css/oustyles.css— estilos.
Principais endpoints consumidos pelo frontend:
- Autenticação:
POST /api/login,POST /api/signup - Usuários:
GET /api/users - Hábitos:
GET/POST/PUT/DELETE /api/habits(rotas por usuário disponíveis) - Categorias:
GET/POST/PUT/DELETE /api/categories - Diário:
GET/POST/PUT/DELETE /api/journal(inclui busca por data — retorna lista de registros para a data)
Consulte o README do backend para exemplos de payloads e respostas.
Em ambiente de desenvolvimento, o backend persiste dados em arquivos JSON (por exemplo: users.json, habitos.json, registros_diarios.json). Faça backup antes de editar manualmente.
- Crie um branch para sua alteração.
- Faça commits atômicos e descritivos.
- Abra um pull request para revisão.
Adicione aqui a informação de licença do projeto, se aplicável.
Para documentação detalhada da API e histórico de mudanças, consulte a pasta docs_backup/ no repositório do backend.