Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Todo App Fullstack

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.

Caracteristicas

Frontend

  • 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

Backend

  • API REST completa para CRUD de tarefas
  • Autenticacao de usuarios com JWT
  • Validacao de dados
  • Tratamento de erros
  • Cors habilitado

Stack Tecnologico

Frontend

  • React
  • React Router
  • Axios (para chamadas HTTP)
  • Tailwind CSS

Backend

  • Node.js
  • Express
  • MongoDB
  • Mongoose
  • JWT (autenticacao)
  • bcrypt (criptografia de senha)

Instalacao

Pre-requisitos

  • Node.js (v14+)
  • MongoDB (local ou Atlas)
  • npm ou yarn

Backend

  1. Navegue para a pasta backend:
cd backend
  1. Instale as dependencias:
npm install
  1. Crie o arquivo .env:
PORT=5000
MONGODB_URI=mongodb://localhost:27017/todoapp
JWT_SECRET=sua_chave_secreta
  1. Inicie o servidor:
npm start

Frontend

  1. Navegue para a pasta frontend:
cd frontend
  1. Instale as dependencias:
npm install
  1. Inicie a aplicacao:
npm start

Estrutura do Projeto

todo-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

Endpoints da API

Autenticacao

POST   /api/auth/signup      - Registrar novo usuario
POST   /api/auth/login       - Login de usuario
POST   /api/auth/logout      - Logout

Tarefas

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

Uso

  1. Faca signup/login
  2. Digite sua tarefa no campo de entrada
  3. Clique em "Adicionar" ou pressione Enter
  4. Clique no botao de checkbox para marcar como concluida
  5. Clique em editar para modificar a tarefa
  6. Clique em deletar para remover a tarefa

Licenca

Este projeto eh de codigo aberto sob a licenca MIT.

Contribuindo

Contribuicoes sao bem-vindas!

  1. Fork o projeto
  2. Crie uma branch para sua feature
  3. Commit suas mudancas
  4. Push para a branch
  5. Abra um Pull Request

Se este projeto foi util, considere dar uma star!

About

Aplicacao de To-Do List fullstack com React (frontend) e Node.js/Express (backend). Inclui autenticacao, CRUD de tarefas e persistencia em MongoDB.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors