BikeControl (SwiftControl)
使用 Zwift Click、Zwift Play、Shimano Di2 或任何藍牙控制器,搭配 MyWhoosh、Rouvy、Zwift 等。iOS、Android、Windows、macOS 均可免費試用。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Red social deportiva para jugadores de calle: organiza pichangas, sube XP, forma equipos, lanza retos y domina el ranking de tu ciudad. Stack: Node.js + Express + PostgreSQL + Socket.IO · React 18 + Vite + Tailwind Requisitos: Node 18+, PostgreSQL 14+ corriendo.查看完整 README ↗
Red social deportiva para jugadores de calle: organiza pichangas, sube XP, forma equipos, lanza retos y domina el ranking de tu ciudad.
Stack: Node.js + Express + PostgreSQL + Socket.IO · React 18 + Vite + Tailwind
streetplayer/
├── backend/ API REST + WebSockets + crons (Express, puerto 4000)
│ └── src/
│ ├── controllers/ Lógica de cada dominio (auth, eventos, torneos…)
│ ├── routes/ Rutas + validación (express-validator)
│ ├── middleware/ auth (JWT), validate, asyncHandler
│ ├── services/ XP, medallas, notificaciones, mailer, crons
│ ├── db/ schema.sql + migraciones (corren solas al arrancar)
│ └── config/ env (validación), cors, database (pool pg)
└── frontend/ SPA React (Vite, puerto 5173)
└── src/
├── pages/ Una carpeta por dominio; /admin = panel completo
├── components/ UI compartida (AuthShell, Avatar, UploadFoto…)
├── services/ api (axios + renovación de tokens), socket, authStorage
├── context/ AuthContext (sesión)
└── styles/ brand.js (tokens de marca) + Tailwind
Requisitos: Node 18+, PostgreSQL 14+ corriendo.
# 1. Instalar todo
npm run install:all
# 2. Configurar variables (copiar y editar)
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env
# 3. Levantar backend + frontend juntos
npm run dev
ADMIN_EMAIL / ADMIN_PASSWORD.backend/uploads/ (solo desarrollo).FIREBASE_* en backend y VITE_FIREBASE_* en frontend).| Pieza | Plataforma | Notas |
|---|---|---|
| Backend | Render (render.yaml) | Health check en /health. Variables requeridas en producción: DATABASE_URL, JWT_SECRET, ADMIN_PASSWORD, ALLOWED_ORIGINS. Recomendadas: FIREBASE_*, SMTP_*, CLOUDINARY_* (sin Cloudinary las fotos se pierden en cada deploy: el disco de Render es efímero). |
| Frontend | Vercel (frontend/vercel.json) | Definir VITE_BACKEND_URL y VITE_FIREBASE_*. |
| Base de datos | Neon / Render PostgreSQL | Las migraciones son idempotentes y corren al arrancar. |
⚠️ El backend asume una sola instancia (crons in-process y Socket.IO en memoria). Antes de escalar horizontalmente: adapter de Redis para Socket.IO y mover crons a un worker.