Jamorham
Nightscout용 xDrip+ 버전
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Rede social fitness com coach de treino e dieta por IA. Une, num só app, o acompanhamento personalizado (treino + nutrição gerados por IA) e uma comunidade onde as pessoas compartilham a evolução — fechando um ciclo de retenção. Documento de decisões e escopo: veja o plano do MVP em C:\Users\00asa\.claude\plans\ (fora do repo). Requisitos: Node 20+ e um MongoDB (local ou Atlas). Fatia 2 (Onboarding com IA — requer Bearer token): Fatia 3 (Geração de plano — requer Bearer token): Fatia 4 (Rede social — requer Bearer token):README 전문 보기 ↗
Rede social fitness com coach de treino e dieta por IA. Une, num só app, o acompanhamento personalizado (treino + nutrição gerados por IA) e uma comunidade onde as pessoas compartilham a evolução — fechando um ciclo de retenção.
Documento de decisões e escopo: veja o plano do MVP em
C:\Users\00asa\.claude\plans\(fora do repo).
FitSocial/
├─ api/ Backend — Node.js + Express + MongoDB + TypeScript
└─ app-android/ App — React Native (Expo). iOS em Swift virá em fase futura.
api/)Requisitos: Node 20+ e um MongoDB (local ou Atlas).
cd api
cp .env.example .env # ajuste JWT_SECRET, MONGODB_URI, ANTHROPIC_API_KEY
npm install
npm run dev # sobe em http://localhost:4000
npm test # testes de integração (Mongo em memória)
Endpoints da Fatia 1 (Auth):
| Método | Rota | Descrição |
|---|---|---|
| GET | /health | Healthcheck |
| POST | /auth/register | Cadastro (retorna token + usuário) |
| POST | /auth/login | Login (retorna token + usuário) |
| GET | /auth/me | Usuário autenticado (Bearer token) |
Fatia 2 (Onboarding com IA — requer Bearer token):
| Método | Rota | Descrição |
|---|---|---|
| GET | /onboarding/greeting | Mensagem inicial do coach |
| POST | /onboarding/message | Um turno da conversa; ao concluir, salva a ficha |
Fatia 3 (Geração de plano — requer Bearer token):
| Método | Rota | Descrição |
|---|---|---|
| POST | /plans/generate | Gera treino+dieta a partir da ficha (nova versão) |
| POST | /plans/import | Importa o plano pessoal (texto → IA estrutura) |
| GET | /plans/current | Retorna o plano mais recente |
Fatia 4 (Rede social — requer Bearer token):
| Método | Rota | Descrição |
|---|---|---|
| POST | /social/posts | Cria post (texto + imageUrl opc.) |
| GET | /social/feed | Feed (quem você segue + você) |
| POST | /social/posts/:id/like | Curtir |
| DELETE | /social/posts/:id/like | Descurtir |
| POST | /social/users/:id/follow | Seguir |
| DELETE | /social/users/:id/follow | Deixar de seguir |
| GET | /social/users/:id | Perfil + contagens + posts |
Fatia 5 (Freemium):
| Método | Rota | Descrição |
|---|---|---|
| POST | /plans/generate | Grátis gera 1x; regenerar exige premium (402) |
| POST | /billing/webhook | Webhook do RevenueCat (atualiza tier) |
| POST | /billing/dev-upgrade | Upgrade de DEV (alterna free/premium; off em prod) |
Assinatura real: integração via RevenueCat + Google Play Billing (o
dev-upgrade é só para demonstração). Configure o RevenueCat usando o _id do
usuário como app_user_id e aponte o webhook para /billing/webhook
(opcionalmente proteja com REVENUECAT_WEBHOOK_AUTH).
A IA fica isolada atrás da interface AIProvider (src/services/ai/). Hoje usa
Google Gemini (grátis) via REST. Trocar de LLM = nova implementação da
interface + apontar o factory em src/services/ai/index.ts. Configure
GEMINI_API_KEY no .env (grátis em https://aistudio.google.com/apikey).
Teste as integrações reais com: npm run try:gemini (onboarding) e
npm run try:plan (geração de plano).
Vídeos de exercício (opcional): Configure YOUTUBE_API_KEY no .env para carregar
miniaturas reais dos vídeos de execução e tocar dentro do app. Sem a chave, o app mostra
um botão de fallback que abre a busca no YouTube em navegador externo. Obtenha a chave em
https://console.cloud.google.com/apis/library/youtube.googleapis.com (Google Cloud Console → "YouTube Data API v3").
app-android/)cd app-android
npm install
npm run android # requer emulador Android ou o app Expo Go
Por padrão o app aponta para http://10.0.2.2:4000 (host no emulador Android).
Para dispositivo físico, defina EXPO_PUBLIC_API_URL com o IP da sua máquina.
Endpoints v2.2–v2.4 (Bearer token):
| Método | Rota | Descrição |
|---|---|---|
| GET | /gamification/users/:id | Badges de um usuário |
| GET | /gamification/leaderboard | Ranking entre seguidos (7 dias) |
| POST | /uploads | Upload de imagem (multipart) |
| POST | /social/posts/:id/comments | Comentar em um post |
| GET | /social/posts/:id/comments | Listar comentários |
| GET | /coach/messages | Histórico do chat com o coach |
| POST | /coach/messages | Conversa com o coach (pode reajustar o plano) |
| Método | Rota | Descrição |
|---|---|---|
| POST | /checkins | Registra treino feito (carga/reps; post opcional) |
| GET | /checkins/stats | Streak, treinos na semana e total |
| GET | /checkins | Histórico recente de treinos |
| GET | /checkins/progress | Evolução de carga por exercício (para o gráfico) |
| POST | /plans/adjust | Reajuste do plano pela IA com base na adesão (premium) |
502 amigável; falha de rede no app vira mensagem clara.