Jamorham
Nightscout용 xDrip+ 버전
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기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.examplREADME 전문 보기 ↗
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.