Choose your language / Escolha seu idioma
A weekly planner built with React, Zustand, and TailwindCSS. It allows you to create, edit, delete, and organize tasks by day of the week. It supports multiple languages (PT/EN), dark/light themes, and data persistence using localStorage.
- ✅ Add, edit, and delete tasks
- ✅ Organize tasks by day of the week (drag and drop)
- ✅ Dark and light theme
- ✅ Multi-language support (🇧🇷 Portuguese / 🇺🇸 English)
- ✅ Automatic task persistence in the browser
- ✅ E2E testing with Cypress
- React
- Zustand
- TailwindCSS
- i18next + react-i18next
- uuid
- Cypress
git clone https://github.com/IzaDeveloper/weekly-planner
cd weekly-plannernpm installnpm run devnpx cypress opennpx cypress runTranslation is done using i18next.
- en.json
- pt.json
A button allows toggling between light and dark themes. The theme is persisted in localStorage.
- Tasks are stored in the global state using Zustand.
- Each task has a title, id, and day.
- Tasks are automatically saved to localStorage.
- Language changes are dynamically reflected throughout the application.
- Drag and drop between days is implemented using native HTML5 events.
| Package | Purpose |
|---|---|
react |
Main library |
zustand |
Global state management |
tailwindcss |
Styling |
react-i18next |
Internationalization |
i18next |
Translation engine |
uuid |
Unique ID generation |
cypress |
End-to-end testing |
👨💻 Author
Developed by Izabelle 💻
Um planner semanal feito com React, Zustand e TailwindCSS. Permite a criação, edição, exclusão e organização de tarefas por dia da semana. Possui suporte a múltiplos idiomas (PT/EN), tema escuro/claro e persistência de dados no localStorage.
- ✅ Adicionar, editar e excluir tarefas
- ✅ Organizar tarefas por dia da semana (arrastar e soltar)
- ✅ Tema escuro e claro
- ✅ Suporte a múltiplos idiomas (🇧🇷 Português / 🇺🇸 Inglês)
- ✅ Persistência automática das tarefas no navegador
- ✅ Testes E2E com Cypress
- React
- Zustand
- TailwindCSS
- i18next + react-i18next
- uuid
- Cypress
git clone https://github.com/seu-usuario/repo.git
cd reponpm installnpm run devnpx cypress opennpx cypress runA tradução é feita com i18next.
- en.json
- pt.json
Um botão permite alternar entre tema claro e escuro. O tema é persistido no localStorage.
- As tarefas são armazenadas no estado global via Zustand.
- Cada tarefa tem um título, id e dia.
- As tarefas são salvas no localStorage automaticamente.
- A mudança de idioma reflete dinamicamente em toda a aplicação.
- O drag and drop entre os dias é feito com eventos nativos de HTML5.
| Package | Função |
|---|---|
react |
Biblioteca principal |
zustand |
Estado global |
tailwindcss |
Estilização |
react-i18next |
Internacionalização |
i18next |
Motor de tradução |
uuid |
Geração de IDs únicos |
cypress |
Testes end-to-end |
👨💻Autor
Desenvolvido por Izabelle 💻

