Skip to content

About

Projeto final do curso Front-End Development, onde desenvolvemos uma aplicação utilizando as tecnologias estudadas durante o módulo. Criamos as interfaces do sistema utilizando ReactJS e Tailwind CSS, implementando diversos tipos de comunicação entre componentes, além de integrar e consumir dados de uma API externa.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

atvf-fed-it

Projeto final da disciplina Front-End Development, onde desenvolvemos uma aplicação utilizando as tecnologias estudadas durante o módulo. Criamos as interfaces do sistema utilizando ReactJS e Tailwind CSS, implementando diversos tipos de comunicação entre componentes, além de integrar e consumir dados de uma API externa.

Logo

Entregas

- No mínimo 5 páginas:

Foram desenvolvidas as páginas de Home, Login, Registro, 404 e CRUD de Produtos (Listagem com Exclusão e ações/botões para páginas de Criação e Edição).

- Autenticação + rotas seguras:

Foi implementado um esquema de autenticação que libera o acesso ao CRUD de Produtos somente após login bem-sucedido. No projeto existe um conjunto pré-definido de usuários mockados que devem ser utilizados para simular um ambiente de autenticação realista, pois são os mesmos fornecidos pela Fake Store API para obtenção de token JWT (JSON Web Token), uma vez que a API não suporta o registro de novos usuários em seu servidor.

- CRUD completo (Criação, Leitura, Edição e Exclusão):

Foi criado um CRUD completo, em rotas seguras, para gerenciamento de produtos do e-commerce.

- Troca de dados entre rotas via props:

Foram implementados vários tipos de troca de informações entre componentes e/ou rotas. Por exemplo: Na rota da edição de um produto, e entre componentes via propriedades, atributo children e contexto. Além disso, foram utilizados diversos Hooks, tais como: useState, useEffect, useContext, useCallback e Custom Hooks (useAuth e usePageTitle).

- Troca de estados globais com useContext:

O Context API foi empregado para criar um fluxo de autenticação eficiente e para gerenciar o estado das informações do usuário logado em toda a aplicação, facilitando o compartilhamento de dados entre componentes de forma global.

- Estilização de todas as páginas com tawindcss:

Todas as páginas foram estilizadas com Tailwind CSS v3, inclusive foram implementados os modos light e dark.

- Integração com serviço externo via axios consumindo endpoints [GET/POST/PUT/DELETE):

Os pincipais métodos foram todos consumidos fazendo uso da Fake Store API, que fornece uma API REST online gratuita com dados pseudo-reais de comércio eletrônico ou site de compras. Porém, as operações não são persistidas no banco do serviço, o que não é problema para requisição do tipo GET. Com isso, foi implementado no CRUD de Produtos uma estratégia utilizando Local Storage. Ou seja, sempre que for realizada alguma requisição dos demais tipos (POST/PUT/DELETE), após o status de sucesso (200) retornado pela API a operação é simulada localmente no browser. Os produtos da Home são obtidos direntamente da API, sem impacto das alterações pelas alterações no Local Storage.

Screenshots

App Screenshot

Créditos

  • Este projeto faz uso da Fake Store API para simular dados de produtos e usuários;
  • Algumas imagens utilizadas neste projeto são fornecidas pelo Freepik;
  • Ícones utilizados neste projeto são do Font Awesome 5 através do pacote React Icons;
  • Este projeto utiliza a fonte Roboto disponibilizada pelo Google Fonts;
  • As cores dos temas claro e escuro foram inspiradas pelo Dracula Theme.

Licença

MIT

About

Projeto final do curso Front-End Development, onde desenvolvemos uma aplicação utilizando as tecnologias estudadas durante o módulo. Criamos as interfaces do sistema utilizando ReactJS e Tailwind CSS, implementando diversos tipos de comunicação entre componentes, além de integrar e consumir dados de uma API externa.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages