TastkIt
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
index.ts
https://diegoivo--941735f834c811f098929e149126039e.web.val.run
Um clone do Todoist construído em Val Town, oferecendo gerenciamento de tarefas com suporte a múltiplos usuários e projetos.
- Autenticação de usuários (registro e login)
- Criação e gerenciamento de projetos
- Adição, edição e exclusão de tarefas
- Atribuição de prioridades e datas de vencimento
- Interface responsiva e intuitiva
├── backend/
│ ├── database/
│ │ ├── migrations.ts # Definições de esquema
│ │ ├── queries.ts # Funções de consulta ao banco de dados
│ ├── routes/ # Módulos de rota
│ │ ├── auth.ts # Rotas de autenticação
│ │ ├── projects.ts # Rotas de projetos
│ │ ├── tasks.ts # Rotas de tarefas
│ │ └── static.ts # Servir arquivos estáticos
│ └── index.ts # Ponto de entrada principal
├── frontend/
│ ├── components/
│ │ ├── App.tsx # Componente principal
│ │ ├── Auth/ # Componentes de autenticação
│ │ ├── Projects/ # Componentes de projetos
│ │ └── Tasks/ # Componentes de tarefas
│ ├── favicon.svg
│ ├── index.html # Template HTML principal
│ ├── index.tsx # Ponto de entrada do frontend
│ └── style.css
├── shared/
│ ├── types.ts # Tipos compartilhados
│ └── utils.ts # Funções utilitárias compartilhadas
└── index.ts # Ponto de entrada HTTP para Val Town
- Backend: Hono (API), SQLite (Banco de dados)
- Frontend: React, Tailwind CSS
- Compartilhado: TypeScript para tipagem forte
- Registre-se ou faça login
- Crie projetos para organizar suas tarefas
- Adicione tarefas aos projetos
- Gerencie suas tarefas com prioridades e datas
Para colocar o TaskMaster em produção no Val Town, siga estas etapas:
-
Configurar o Trigger HTTP:
- O arquivo principal
index.ts
na raiz do projeto já está configurado como um HTTP trigger - Este arquivo importa e exporta a aplicação Hono do backend
- O arquivo principal
-
Variáveis de Ambiente:
- Configure a variável de ambiente
JWT_SECRET
para aumentar a segurança da autenticação - Acesse as configurações do seu Val e adicione esta variável com uma string aleatória e segura
- Exemplo:
jWT5ecr3t_K3y-f0r-T4skM4st3r_2024!#$%^&*()_+AbCdEfGhIjKlMnOpQrStUvWxYz
- Configure a variável de ambiente
-
Primeira Execução:
- Na primeira execução, o sistema executará as migrações do banco de dados automaticamente
- Após a primeira execução bem-sucedida, você pode comentar a linha
runMigrations().catch(console.error);
no arquivobackend/index.ts
para melhorar o desempenho
-
Atualizações:
- Ao fazer atualizações no esquema do banco de dados, modifique os nomes das tabelas para evitar conflitos
- Por exemplo, altere de
taskmaster_users
parataskmaster_users_v2
Se encontrar problemas ao executar o TaskMaster, verifique:
- Erros de Console: Verifique os logs para identificar erros específicos
- Banco de Dados: Certifique-se de que as migrações foram executadas corretamente
- Autenticação: Verifique se o JWT_SECRET está configurado corretamente
- Requisições de API: Use as ferramentas de desenvolvedor do navegador para verificar as requisições e respostas da API