Aplicacao de gerenciamento de tarefas (To-Do List) fullstack. Frontend desenvolvido com React e backend com Node.js/Express, usando MongoDB para persistencia de dados.
- Interface intuitiva e responsiva
- Adicionar, editar e deletar tarefas
- Marcar tarefas como concluidas
- Filtro por status (Todas, Ativas, Concluidas)
- Busca de tarefas
- Autenticacao com JWT
- Local storage para sessao
- API REST completa para CRUD de tarefas
- Autenticacao de usuarios com JWT
- Validacao de dados
- Tratamento de erros
- Cors habilitado
- React
- React Router
- Axios (para chamadas HTTP)
- Tailwind CSS
- Node.js
- Express
- MongoDB
- Mongoose
- JWT (autenticacao)
- bcrypt (criptografia de senha)
- Node.js (v14+)
- MongoDB (local ou Atlas)
- npm ou yarn
- Navegue para a pasta backend:
cd backend- Instale as dependencias:
npm install- Crie o arquivo .env:
PORT=5000
MONGODB_URI=mongodb://localhost:27017/todoapp
JWT_SECRET=sua_chave_secreta- Inicie o servidor:
npm start- Navegue para a pasta frontend:
cd frontend- Instale as dependencias:
npm install- Inicie a aplicacao:
npm starttodo-app-fullstack/
├── backend/
│ ├── models/
│ │ ├── User.js
│ │ └── Task.js
│ ├── routes/
│ │ ├── auth.js
│ │ └── tasks.js
│ ├── middleware/
│ │ └── auth.js
│ ├── controllers/
│ │ ├── authController.js
│ │ └── taskController.js
│ ├── config/
│ │ └── database.js
│ ├── .env.example
│ ├── package.json
│ └── server.js
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ │ ├── TaskForm.jsx
│ │ │ ├── TaskList.jsx
│ │ │ ├── TaskItem.jsx
│ │ │ └── Auth.jsx
│ │ ├── pages/
│ │ │ ├── Dashboard.jsx
│ │ │ ├── Login.jsx
│ │ │ └── Signup.jsx
│ │ ├── services/
│ │ │ └── api.js
│ │ ├── App.jsx
│ │ └── index.css
│ ├── package.json
│ └── public/
└── README.md
POST /api/auth/signup - Registrar novo usuario
POST /api/auth/login - Login de usuario
POST /api/auth/logout - Logout
GET /api/tasks - Listar todas as tarefas
GET /api/tasks/:id - Obter tarefa por ID
POST /api/tasks - Criar nova tarefa
PUT /api/tasks/:id - Atualizar tarefa
DELETE /api/tasks/:id - Deletar tarefa
- Faca signup/login
- Digite sua tarefa no campo de entrada
- Clique em "Adicionar" ou pressione Enter
- Clique no botao de checkbox para marcar como concluida
- Clique em editar para modificar a tarefa
- Clique em deletar para remover a tarefa
Este projeto eh de codigo aberto sob a licenca MIT.
Contribuicoes sao bem-vindas!
- Fork o projeto
- Crie uma branch para sua feature
- Commit suas mudancas
- Push para a branch
- Abra um Pull Request
Se este projeto foi util, considere dar uma star!