# 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