Este repositório contém a solução para o desafio técnico proposto pela Sootz (itnsify).
O objetivo é desenvolver uma aplicação To-Do List com autenticação de usuários e gerenciamento de tarefas, utilizando Firebase no backend e Next.js no frontend.
- Autenticação de usuários (login, cadastro, logout).
- Sessões persistentes (usuário continua logado ao recarregar a página).
- CRUD de tarefas:
- Criar novas tarefas.
- Visualizar apenas as tarefas do usuário autenticado.
- Atualizar (editar título, marcar como concluída/pendente).
- Excluir tarefas.
- Atualização em tempo real (Firebase).
- Design responsivo (desktop e mobile).
- Next.js (React + TypeScript)
- TailwindCSS (estilização)
- ShadCN/UI (componentes UI)
- Node.js com Express (servidor)
- TypeScript
- Firebase Authentication (autenticação)
- Cloud Firestore (armazenamento de tarefas)
- Figma Para acessar e visualizar o design do projeto, CLIQUE AQUI
Na branch "main", será possível encontrar os seguintes arquivos e pastas:
- /frontend → aplicação Next.js
- /backend → API Express + Firebase
- README.md → instruções gerais
- LICENSE → MIT License
git clone https://github.com/Talyslan/due-or-die.git
cd due-or-die💡 O projeto está configurado como workspace, então as dependências de frontend/ e backend/ serão instaladas automaticamente a partir da raiz. Você pode usar npm ou pnpm, conforme sua preferência:
Com npm:
npm installCom pnpm:
pnpm installCrie os arquivos .env (frontend) e .env (backend) com as variáveis de ambiente baseada nos arquivos .env.example em cada pasta:
- A aplicação frontend ficará disponível em http://localhost:3000 (ou a porta configurada no seu .env)
- O backend rodará em http://localhost:8080 (ou a porta configurada no seu .env)
Obtemos 3 opções de rodar a aplicação:
- Rodar a aplicação geral (frontend e backend):
npm run dev
# ou
pnpm dev- Rodar o frontend:
npm run dev:frontend
# ou
pnpm dev:frontend- Rodar o backend:
npm run dev:backend
# ou
pnpm dev:backendEste projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Este repositório foi feito por Talyslan Canabarro. O repositório está aberto para pull requests e opiniões! Muito obrigado.