saveinmed/frontend/README.md

97 lines
3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SaveInMed Frontend
![Next.js](https://img.shields.io/badge/next-15-blue?logo=nextdotjs)
![Node](https://img.shields.io/badge/node-18%2B-brightgreen?logo=node.js)
![License](https://img.shields.io/badge/license-MIT-green)
Interface web da plataforma **SaveInMed**. O sistema permite que farmácias anunciem
ou comprem medicamentos próximos ao vencimento em um ambiente B2B.
## Índice
- [Visão Geral](#visão-geral)
- [Tecnologias](#tecnologias)
- [Instalação](#instalação)
- [Variáveis de Ambiente](#variáveis-de-ambiente)
- [Scripts npm](#scripts-npm)
- [Estrutura do Projeto](#estrutura-do-projeto)
- [Deploy](#deploy)
- [Contribuição](#contribuição)
- [Licença](#licença)
## Visão Geral
Aplicação **Next.js** (App Router) que serve como interface web da plataforma
B2B SaveInMed, permitindo que farmácias anunciem e comprem medicamentos
próximos ao vencimento. Todas as informações (empresas, produtos, usuários,
faturas etc.) são armazenadas no **Appwrite** e acessadas por meio de rotas de
API do próprio Next.js, garantindo que a API Key permaneça somente no servidor.
## Tecnologias
- **Next.js** 15.3.4
- **React** 19
- **Tailwind CSS** 4
- **TypeScript**
- **ESLint**
- **Appwrite** / **node-appwrite**
- **Heroicons**
## Instalação
### Pré-requisitos
- Node.js 18+
- npm 9+ (ou yarn/pnpm)
### Passos
1. Instale as dependências:
```bash
npm install
```
2. Copie `.env.example` para `.env` e preencha suas chaves.
3. Inicie o modo desenvolvimento:
```bash
npm run dev
```
4. Para gerar o build de produção:
```bash
npm run build
npm start
```
## Variáveis de Ambiente
As principais variáveis estão listadas em `.env.example`:
| Chave | Descrição |
| ----- | ---------- |
| `NEXT_PUBLIC_APPWRITE_ENDPOINT` | URL do seu servidor Appwrite |
| `NEXT_PUBLIC_APPWRITE_PROJECT_ID` | ID do projeto Appwrite |
| `NEXT_PUBLIC_APPWRITE_DATABASE_ID` | ID do banco de dados |
| `NEXT_PUBLIC_APPWRITE_COLLECTION_*` | IDs das coleções (endereços, produtos etc.) |
| `APPWRITE_API_KEY` | API Key utilizada nas rotas de API |
| `NEXT_PUBLIC_APPWRITE_FUNCTION_CAJU_ID` | (opcional) ID da function *caju* |
## Scripts npm
- `dev` servidor de desenvolvimento
- `build` gera o build
- `start` executa o build
- `lint` roda o ESLint
## Estrutura do Projeto
A árvore completa está documentada em
[docs/estrutura.md](docs/estrutura.md). Os diretórios principais são
`src/app`, `src/components`, `src/hooks`, `src/services` e `src/lib`.
## Deploy
1. Gere o build de produção:
```bash
npm run build
```
2. Publique o conteúdo da pasta `.next` e o `package.json` no provedor de
hospedagem (Vercel, Netlify etc.).
3. Defina todas as variáveis de ambiente no painel do provedor.
4. Execute `npm start` no ambiente de produção.
## Contribuição
Sinta-se à vontade para abrir issues ou pull requests.
## Licença
Distribuído sob a licença MIT. Consulte o arquivo `LICENSE` para mais detalhes.
Última atualização: 2025-07-15