Aplicacao desktop em Tauri + React + TypeScript para gerir reservas de sangue, postos, brigadas moveis e perfil de doador. Enquanto a API oficial nao esta disponivel sao utilizados dados mock nas camadas de servicos.
- Autenticacao via Firebase Auth (placeholders de configuracao incluidos em
.env.example). - Roteamento protegido com React Router (
/login,/home,/reservas,/postos,/brigadas,/perfil). - Componentes dedicados (
Navbar,ProtectedRoute) e hooks reutilizaveis (useAuth,useApi). - Servico
api.tscom dados mock para reservas, postos, brigadas e elegibilidade. - Estilos globais customizados localizados em
src/styles/globals.css.
- Instale as dependencias do frontend e de Tauri:
npm install
- Crie um ficheiro
.envna raiz a partir do.env.examplee preencha tanto as variaveis sem prefixo como as que comecam porVITE_(o frontend utiliza estas ultimas para expor os valores ao browser). - Configure o Firebase Auth com email/password e actualize os valores no
.env. - Garanta que Rust e as restantes dependencias Tauri estao instaladas: https://tauri.app/start/prerequisites/.
npm run dev— inicia o frontend em modo Vite standalone.npm run tauri dev— executa a aplicacao desktop Tauri.npm run build— gera build de producao do frontend.npm run tauri build— cria binarios desktop.
src/
app/
components/
hooks/
pages/
services/
styles/
public/
src-tauri/
- Os servicos
api.tsefirebase.tsusam dados mock e placeholders ate a integracao real. - O componente
ProtectedRouteredirecciona automaticamente para/loginquando nao existe sessao valida. - A navegacao e apresentada apenas quando o utilizador esta autenticado.