Este documento explica cómo levantar el proyecto Verus desde cero, qué comandos ejecutar, qué resultados esperar y algunas notas importantes para el flujo de desarrollo.
- Mobile-first: Aplicación Flutter con soporte multiplataforma (Android, iOS, Web, Desktop).
- Backend en Serverpod: API escalable en Dart con PostgreSQL.
- Cliente Dart: Conexión directa entre frontend y backend.
- Gestión de versiones con FVM: Evita conflictos entre proyectos Flutter/Dart.
- Onboarding reproducible: Scripts y documentación para nuevos integrantes del equipo.
verus_server/→ Backend con Serverpod.verus_client/→ Cliente Dart para consumir el backend.verus_flutter/→ Aplicación Flutter conectada al backend.
git clone https://github.com/TOMOKI977/verus.git
cd veruscd verus_flutter && fvm use stable --force
cd ../verus_client && fvm use stable --force
cd ../verus_server && fvm use stable --forcefvm flutter pub get
fvm dart pub getcd verus_server
docker compose up -dfvm dart run bin/main.dart --apply-migrations
fvm dart run bin/main.dartSERVERPOD initialized
Applied database migration: <timestamp>
WebServer INFO: Webserver listening on http://localhost:8082METHOD greeting.hello user=null, queries=0, duration=22µscd ../verus_flutter
fvm flutter run -d web-serverlib\main.dart is being served at http://localhost:<port>
The web-server device requires the Dart Debug Chrome extension...- El servidor web se levanta en un puerto aleatorio (http://localhost:59731 por ejemplo).
- Para debugging, Flutter solo soporta Chrome y Edge (ambos basados en Chromium).
- Si quieres probar en Firefox o forks (ej. Zen), abre manualmente la URL en ese navegador.
⚠️ No tendrás soporte de debugging, solo ejecución.
r→ Hot reload 🔥R→ Hot restartq→ Terminar ejecuciónd→ Detach (deja la app corriendo pero cierra la sesión actual)
-
- El servidor corre en
http://localhost:8082y responde al endpoint greeting.hello.
- El servidor corre en
-
- La app Flutter se levanta en
http://localhost:<port>y muestra la pantalla inicial.
- La app Flutter se levanta en
-
- Los logs del servidor muestran llamadas desde la app.