Aplicação React (Vite) que compõe a interface do projeto Feira Solidária — uma plataforma de doação e recebimento de produtos. Este repositório implementa autenticação, rotas protegidas, listagem e cadastro de itens, consumo da API e uma UI responsiva com Tailwind CSS.
- Feira Solidária – Frontend
O frontend oferece páginas de Login, Cadastro, Perfil, Página Inicial, Busca, Doação e Carrinho, além de componentes reutilizáveis como Navbar, Footer, Modais e Cards de Produto. A autenticação usa AuthContext com persistência em localStorage, e as chamadas HTTP utilizam Axios.
- Página Inicial (Hero) com chamada à ação e últimos itens doados
- Autenticação (login/cadastro) com rotas protegidas
- Cadastro de Produtos com seleção/adição de Categorias
- Listagem e Detalhe de Itens com modal
- Carrinho para receber doações
- UI Responsiva com Tailwind CSS
- React 19 + Vite
- React Router DOM
- Axios
- Tailwind CSS
- Font Awesome / Lucide React (ícones)
- Sabrinne — sabrinnesousa — Página Inicial
- Isis — isislavor — Página de Login
- Francisco Antonio — fcooantonio — Página de Perfil
- Sarah — sarahCavalcantev — Cadastro de Usuário
- Breno — breno-wesley — Cadastro de Itens
- João Afonso — westjoao12 — Busca de Itens
- João Guilherme — jguii — Carrinho de Itens
git clone https://github.com/isislavor/feira-solidaria.git
cd feira-solidariaCrie um arquivo .env baseado no .env.example com a URL do backend, por exemplo:
VITE_API_BASE_URL=http://localhost:3000npm installAbra dois terminais:
-
Frontend
npm run dev
-
(Opcional) JSON Server — apenas se estiver usando
src/services/db.jsonem paralelo ao backendnpm run server
Acesse a aplicação em: http://localhost:5137 (ou porta mostrada pelo Vite).
O frontend consome a API do backend Feira Solidária. As chamadas são feitas via src/services/api.js. O token JWT é armazenado em localStorage e enviado automaticamente pelo interceptor de requisições quando existir.
feira-solidaria/
├─ public/ # Arquivos públicos (index.html, favicon, etc.)
├─ src/
│ ├─ components/ # Componentes reutilizáveis (Navbar, Footer, Modais, Cards)
│ ├─ context/ # Contextos globais (Auth, Carrinho)
│ ├─ pages/ # Páginas (Home, Login, Cadastro, Perfil, Doação, Busca, Carrinho)
│ ├─ services/ # Integração com API (api.js, usuarioService.js, produtoService.js, categoriaService.js)
│ ├─ style/ # Estilos (Tailwind + CSS legado a migrar)
│ ├─ App.jsx # Componente raiz de rotas
│ └─ main.jsx # Bootstrap do React Router e Providers
└─ package.json
- Commits semânticos (ex.:
feat:,fix:,refactor:,docs:) - Padrões de estilo: preferir Tailwind; CSS legado será gradualmente migrado
- Componentização: priorizar componentes desacoplados e reutilizáveis
- Autenticação: use
useAuth()para acessarcurrentUseretoken. Ao logar, salve{ usuario, token }nolocalStorage. - Rotas Protegidas: utilize um
PrivateRoute(ou guard na definição do router) para redirecionar usuários não autenticados. - Acessibilidade: valide contraste das cores dos botões e textos, principalmente em modais e cartões.
- Responsividade: priorize classes utilitárias do Tailwind (
grid,flex,gap,sm:,md:,lg:) para breaks limpos.
https://github.com/fcooantonio/feira-solidaria-backend.git
Observação: este frontend foi projetado para trabalhar em conjunto com o backend da Feira Solidária. Certifique-se de que o backend esteja rodando e acessível na URL configurada no
.env.