尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证PWA de neuropediatria - Dr. Jadson Fraga
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Aplicativo clinico de neuropediatria com backend real, autenticacao, criptografia AES-GCM, conformidade LGPD substantiva e route guards. Construido para uso profissional do Dr. Jadson Fraga (CRM-PE 25227, RQE 17756). ⚠️ Uso clínico restrito. Este sistema processa dados de saúde de crianças. Operar em conformidade com LGPD e normas do CFM. URL canônica de produção: https://neuroped.pages.dev bash cd "NeuroPed Escalas de Neuropedia" npm install bash cp .env.exampl查看完整 README ↗
Aplicativo clinico de neuropediatria com backend real, autenticacao, criptografia AES-GCM, conformidade LGPD substantiva e route guards. Construido para uso profissional do Dr. Jadson Fraga (CRM-PE 25227, RQE 17756).
⚠️ Uso clínico restrito. Este sistema processa dados de saúde de crianças. Operar em conformidade com LGPD e normas do CFM. URL canônica de produção: https://neuroped.pages.dev
| Camada | Tecnologia |
|---|---|
| Frontend | React 18 + Vite 8 + Tailwind + Radix UI + wouter |
| Backend canônico | Cloudflare Pages Functions + D1 |
| Backend local | Express 5 + TypeScript via tsx |
| ORM | Drizzle |
| Banco | D1 em produção; SQLite (better-sqlite3) no Express local |
| Auth | JWT (HS256) access + opaque refresh com rotacao + bcrypt |
| Cripto | AES-256-GCM server-side; rascunhos locais com chave efêmera não persistida |
| nodemailer com SMTP (Brevo/Resend/SES recomendado) | |
| Seguranca | helmet + rate-limit + CORS restrito + audit logs |
.
|- server/
| |- index.ts # Entry Express
| |- routes.ts # Rotas /api/*
| |- storage.ts # Drizzle + bootstrap admin
| |- static.ts # Servidor estatico em prod
| |- vite.ts # Vite dev integration
| |- auth/
| | |- routes.ts # /api/auth/* (register/login/refresh/logout/me)
| |- middleware/
| | |- auth.ts # requireAuth, requireRole
| | |- security.ts # helmet, cors, rate-limit
| |- lib/
| |- crypto.ts # AES-GCM encrypt/decrypt + HMAC + tokens
| |- password.ts # bcrypt + lockout
| |- jwt.ts # access/refresh tokens
| |- audit.ts # log de auditoria
| |- email.ts # nodemailer SMTP
| |- patientCrypto.ts # camada de cripto para Patient
|- client/src/
| |- App.tsx # Router com RouteGuard nas rotas sensiveis
| |- contexts/
| | |- AuthContext.tsx
| |- components/
| | |- RouteGuard.tsx
| |- lib/
| | |- authClient.ts # fetch wrapper + refresh automatico
| |- pages/
| |- login.tsx
| |- session-expired.tsx
| |- lgpd-consent.tsx
| |- ... (75+ paginas de escalas)
|- shared/
| |- schema.ts # Drizzle schemas + Zod validators
|- .env.example
|- package.json
|- README.md
|- DEPLOY.md
|- LGPD.md
|- SECURITY.md
|- CONTRIBUTING.md
|- HOSPEDAGEM.md # comparativo Brasil
cd "NeuroPed Escalas de Neuropedia"
npm install
cp .env.example .env
# Edite .env e preencha:
# NEUROPED_MASTER_KEY (gere com: node -e "console.log(require('crypto').randomBytes(48).toString('base64'))")
# NEUROPED_JWT_SECRET (gere com: node -e "console.log(require('crypto').randomBytes(64).toString('base64'))")
# ADMIN_EMAIL, ADMIN_NAME, ADMIN_INITIAL_PASSWORD
# SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, SMTP_FROM
npm run dev
O servidor sobe em http://localhost:5000 (frontend + backend juntos via Vite middleware).
Apos primeiro npm run dev, o usuario admin e criado automaticamente com email/senha de ADMIN_EMAIL / ADMIN_INITIAL_PASSWORD. Faca login e troque a senha imediatamente em /configuracoes.
IMPORTANTE: apos primeiro login, REMOVA ADMIN_INITIAL_PASSWORD do .env para evitar recriar admin acidentalmente.
npm run build
NODE_ENV=production npm start
Para deploy completo, ver DEPLOY.md.
POST /api/auth/login — credentials, devolve access + refreshPOST /api/auth/refresh — rotaciona refreshPOST /api/auth/logout — revoga refreshGET /api/auth/me — info do usuario logadoPOST /api/auth/change-passwordPOST /api/patients — protegido (admin/professional)GET /api/patients — protegidoGET /api/patients/:id — protegidoPATCH /api/patients/:id — protegido (admin/professional)DELETE /api/patients/:id — protegido (admin/professional)POST /api/results — protegidoGET /api/results — protegidoGET /api/results/:id — protegidoDELETE /api/results/:id — protegido (admin/professional)POST /api/consents — registra consentimento (com IP/UA/timestamp)GET /api/consents — lista consentimentos do usuarioPOST /api/lgpd/export-request — solicita exportacao art. 18POST /api/lgpd/delete-request — solicita exclusao art. 18POST /api/send-report — envia relatorio via SMTP (rate-limited)Para questoes tecnicas: abra issue no repositorio. Para questoes clinicas: contato direto com Dr. Jadson Fraga.
Conteudo educativo e de apoio clinico. Nao substitui consulta medica.
© 2026 Dr. Jadson Fraga Araujo Junior. Todos os direitos reservados.