https://github.com/aszurar/tododark
O projeto todo dark é um site de lista de tarefas, com a possibilidade de adicionar, remover, marcar e persistir os dados de forma simples na web. Esse projeto tem o objetivo de praticar os conceitos básicos do desenvolvimento web com React
https://github.com/aszurar/tododark
axe axe-core css css-module css-modules date-fns flexbox hooks html ignite-reactjs javascript netlify radix-ui react reactjs typescript vite
Last synced: about 1 month ago
JSON representation
O projeto todo dark é um site de lista de tarefas, com a possibilidade de adicionar, remover, marcar e persistir os dados de forma simples na web. Esse projeto tem o objetivo de praticar os conceitos básicos do desenvolvimento web com React
- Host: GitHub
- URL: https://github.com/aszurar/tododark
- Owner: Aszurar
- Created: 2023-10-03T05:19:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-24T13:57:34.000Z (about 2 years ago)
- Last Synced: 2025-02-10T10:26:47.653Z (over 1 year ago)
- Topics: axe, axe-core, css, css-module, css-modules, date-fns, flexbox, hooks, html, ignite-reactjs, javascript, netlify, radix-ui, react, reactjs, typescript, vite
- Language: TypeScript
- Homepage: https://tododark-aszurar.netlify.app/
- Size: 346 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# #2 - React: ****
## todo dark
- O projeto **todo dark** é um site de lista de tarefas, com a possibilidade de adicionar, remover, marcar e persistir os dados de forma simples na web.
- O propósito aqui é praticar conceitos básicos de **React e seus estados, otimização com memo**, uso do **TypeScript e date-fns** e estilização via **CSS modules e Radix UI**.
- A acessibilidade também foi levada em consideração, com o uso da lib axe-core para testes e correções de acessibilidade assim como leitor de tela ChromeVox.
- O site foi publicado com CI/CD por meio da plataforma **[Netlify](https://www.netlify.com/)**.
- Acesse em: ****
[](https://app.netlify.com/sites/tododark-aszurar/deploys) [](https://vitejs.dev/) [](https://react.dev/) [](https://www.radix-ui.com/) [](https://www.typescriptlang.org/) [](https://www.javascript.com/) [](https://developer.mozilla.org/pt-BR/docs/Web/HTML) [](https://www.w3schools.com/css/) [](https://yarnpkg.com/)
---
**[Vídeo no Youtube](https://www.youtube.com/watch?v=RIIGVwqbESE)**
---
## :information_source: Sobre
- O projeto **todo dark** é um site de lista de tarefas, com a possibilidade de adicionar, remover, marcar como concluída e persistir as tarefas por meio do localStorage.
- É o 1º desafio do curso **Ignite da trilha React Native 2022 da [Rocketseat](https://www.rocketseat.com.br/)**
- Para a construção da interface desse projeto foi usado **[React](https://react.dev)** com **[TypeScript](https://www.typescriptlang.org/)**.
- A animação da listagem é feita com a lib **[AutoAnimate](https://auto-animate.formkit.com/)**.
- A estilização é feita com CSS comum sem nenhuma lib por meio do **[CSS modules](https://github.com/css-modules/css-modules)** já que a ideia é entender o básico do React em desenvolvimento web.
- **Adição de tarefa**
---
## :interrobang: Motivo
- Esse projeto tem o objetivo de praticar os conceitos básicos do desenvolvimento web com React como:
- Praticar o uso de TypeScript;
- Lógica de programação com JavaScript;
- Componentes, componentização e suas propriedades;
- Variável Estado e manipulações de variável Estado;
- Otimização simples como memo
- Formatação de datas com Date FNS
- Persistência de dados básica com localStorage;
- Estilização básica com CSS e a aplicação de CSS modules;
- Boas práticas de acessibilidade com axe-core;
- Uso de elementos do Radix UI para construção de modais e tooltips com melhor acessibilidade;
- É um projeto simples, mas que trata da base de uma aplicação web com React.
- Temos funcionalidades e práticas como:
1. Listar tarefas;
2. Criar novas tarefas;
3. Excluir tarefas;
4. Persistir as tarefas por meio do localStorage;
5. Melhoria de acessibilidade com testes e correções com axe-core e ChromeVox.
6. Uso do Radix UI para construção de Modais e Tooltips com melhor acessibilidade
7. Estilização com CSS modules
- **Marcando tarefas**
---
## :art: Design
- O Design do projeto foi fornecido pela **[Rocketseat](https://www.rocketseat.com.br/)** no primeiro módulo do Ignite - React por meio do Figma.
todo dark
[](https://www.figma.com/file/u2TAXCfiufWLNRZibyl3Hj/ToDo-List-%E2%80%A2-Desafio-React-(Copy)?type=design&node-id=56-96&mode=design&t=nl3sM63VnZNZZuAn-0)
- **Excluindo tarefas**
---
## :seedling: Requisitos Mínimos
1. NodeJS
2. React
3. Vite
4. Yarn(ou NPM)
- **Excluindo todas tarefas**
---
## :rocket: Tecnologias Utilizadas
- O projeto foi desenvolvido utilizando as seguintes tecnologias:
1. **[axe-core/react](https://www.npmjs.com/package/@axe-core/react)**
2. **[AutoAnimate](https://auto-animate.formkit.com/)**
3. **[Date FNS](https://date-fns.org/)**
4. **[JavaScript](https://developer.mozilla.org/pt1.BR/docs/Web/JavaScript)**
5. **[Netlify](https://www.netlify.com/)**
6. **[NodeJS](https://nodejs.org/en/)**
7. **[Phosphor Icons](https://phosphoricons.com/)**
8. **[Radix UI](https://www.radix-ui.com/)**
9. **[React](https://pt1.br.react.dev/)**
10. **[Sentry](https://sentry.io/welcome/)**
11. **[TypeScript](https://www.typescriptlang.org/)**
12. **[Vite](https://vitejs.dev/)**
13. **[Yarn](https://classic.yarnpkg.com/blog/2017/05/12/introducing-yarn/)**
---
## :truck: Entrega e distribuição continua
****
- Para a publicação da aplicação foi por meio da plataforma **[Netlify](https://www.netlify.com/)** onde é possível publicar de forma rápida, fácil e simples projetos React que estão hospedados no GitHub, GitLab, dentre outras plataformas de repositório remoto de graça.
- Com isso, o CI/CD já é aplicado automaticamente por meio dessa plataforma definindo a branch de produção, sempre que houver uma atualização nela, será gerado uma nova versão do projeto e já publicado.
- Além disso, podemos customizar o próprio endereço do site, adicionar ferramentas dentre outras funcionalidades facilmente.
---
## :package: Como baixar e executar o projeto
### Baixar
- Clonar o projeto:
```bash
git clone https://github.com/Aszurar/tododark
```
- É necessário ter o Node.js e um gerenciador de pacotes, como o Yarn, instalados em seu sistema. Se você ainda não os tem, siga estas instruções:
- [Instalação do NodeJS](https://nodejs.org/en/)
- [Instalação do Yarn](https://classic.yarnpkg.com/blog/2017/05/12/introducing-yarn/)
- Instalação das dependências:
- Execute o comando abaixo dentro da pasta do projeto
```bash
yarn
```
### Execução
- Caso tudo tenha sido instalado com sucesso, basta executar na raiz do projeto:
```bash
yarn dev
```
---
Desenvolvido por :star2: Lucas de Lima Martins de Souza.