Dirección, constancia y progreso.
LifeQuest es una app personal para planear el año, sostener hábitos diarios y ver el avance en un solo lugar. Está pensada para uso individual (Home Lab / servidor propio): PHP + MySQL, sin frameworks de frontend ni dependencias de Composer.
LifeQuest responde a una pregunta simple: ¿estoy haciendo hoy lo que dije que iba a hacer este año?
- Objetivos anuales por área (meses, unidades o sí/no), más horizontes de largo plazo.
- Hábitos diarios (incluyendo hábitos de sistema fijos: agua, frutas, rutinas, hablar con amigos/as).
- Plan semanal y pantalla Hoy para ejecutar el día.
- Hitos, amigos/as (rotación de charlas) y métricas para cerrar el círculo.
No es una red social ni un SaaS multi-tenant: es un planificador serio para una sola persona, desplegable copiando una carpeta.
| Pantalla | Para qué |
|---|---|
| Hoy | Hábitos del día, agua/frutas, tareas, hitos pendientes |
| Objetivos | Plan anual por área |
| Plan semanal | Tareas por día de la semana |
| Hábitos | Lista completa (sistema + propios) |
| Hitos | Fechas importantes; pueden bloquear Hoy si vencen |
| Amigos/as | Lista cercana + sugerencia diaria de con quién hablar |
| Horizontes | Objetivos de largo plazo (sí/no) |
| Reglas propias | Principios / reglas personales |
| Métricas | Agua, frutas, plan semanal, hitos, interacción con amigos/as |
| Revisiones / Archivo / Configuración | Cierre, histórico y preferencias |
En cada instalación / login / migrate, LifeQuest asegura estos hábitos con is_system = 1:
| Clave | Nombre | Medición |
|---|---|---|
sys_water |
Tomar mínimo 2 litros de agua | Cantidad diaria (vasos/botellas → 2000 ml) |
sys_fruit |
Comer 3 frutas | Cantidad diaria (banana / mandarina / naranja → 3) |
sys_care |
Cuidado personal | Check diario |
sys_dress |
Vestirse | Check diario |
sys_breakfast / sys_lunch / sys_snack / sys_dinner |
Comidas | Check diario |
sys_go_out |
Salir de casa | Check diario |
sys_talk_friend |
Hablar con algún amigo/a | Check diario + rotación fija del día |
No se pueden editar, archivar ni eliminar desde la UI. Son diarios (lunes a lunes). El catálogo vive en código (HabitService::systemCatalog) y está documentado en sql/schema.sql.
Todo el DDL está en:
sql/schema.sql
No hay otros .sql de migraciones ni dumps versionados.
- Instalación nueva:
install.phpaplicasql/schema.sqly siembra datos de ejemplo + hábitos de sistema. - Instalación existente:
migrate.phphace ALTERs idempotentes en PHP y vuelve a asegurar hábitos de sistema / tablas nuevas.
- PHP 8.1+ (
pdo_mysql,mbstring,json,session) - MySQL 8+ (o MariaDB compatible)
- Apache / nginx / IIS sirviendo la carpeta
- Sin Composer ni Node para correr la app
Copiá el repo al document root (ej. W:\lifequest → http://servidor/lifequest).
cp .env.example .envAPP_URL=http://TU-SERVIDOR/lifequest
DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=lifequest
DB_USER=root
DB_PASS=tu_password_mysql
SESSION_LIFETIME=86400
SESSION_IDLE=86400APP_URL sin barra final. En producción: APP_DEBUG=false.
Abrí:
http://TU-SERVIDOR/lifequest/install.php → Instalar ahora
Eso crea la base, aplica sql/schema.sql, siembra el demo y crea los hábitos de sistema.
Usuario demo:
- Email:
demo@lifequest.local - Contraseña:
lifequest-demo
Cambiá la contraseña en Configuración antes de usarlo en serio. Después podés borrar o renombrar install.php.
- Copiá el código nuevo sin pisar el
.envdel servidor. - Abrí
http://TU-SERVIDOR/lifequest/migrate.php. - Hard refresh (Ctrl+F5) si CSS/JS no se ven actualizados (
?v=en assets).
robocopy C:\ruta\LifeQuest W:\lifequest /E /XD .git /XF .env- Entrá a Hoy: ahí están los hábitos del día y las tareas.
- Agua: sumá / restá 250 o 500 ml hasta 2000.
- Frutas: sumá banana, mandarina o naranja hasta 3; −1 para corregir.
- Hablar con amigo/a: la app sugiere una persona; al tildar queda fija todo el día.
- Completá tareas del plan semanal desde Hoy o desde Plan semanal.
- Elegí el año.
- + Nuevo objetivo por área.
- Medición: meses (12 tildes), unidades (meta numérica) o sí/no.
- Edición siempre en modal.
Objetivos de largo plazo, separados del plan anual, con áreas propias. Solo logrado / en camino.
Además de los de sistema podés crear hábitos por meses, unidades o diario. Los de sistema muestran badge Sistema y no abren edición.
Tareas por día, con horario y estimación. Podés copiar una tarea a otros días de la misma semana.
Cargá fechas importantes. Si un hito vence o es hoy y no está hecho, puede bloquear Hoy hasta marcarlo.
- Agregá nombres cercanos.
- El hábito de hablar rota sin repetir.
- Contadores: cuántos hay, charlas de la semana/mes, sin hablar aún.
Vista consolidada del año: completitud de áreas, plan semanal, hitos, agua, frutas e interacción con amigos/as.
Claro / oscuro desde la barra o Configuración.
Sin mod_rewrite; las rutas van por query string:
http://TU-SERVIDOR/lifequest/index.php?r=/today
http://TU-SERVIDOR/lifequest/index.php?r=/login
Atajos: ?r=/goals, /habits, /weekly, /milestones, /friends, /horizon, /metrics, /settings.
| Archivo | Esperado |
|---|---|
.env |
No en el repo (.gitignore) |
.env.example |
Plantilla sin secretos |
sql/schema.sql |
Solo DDL; único SQL versionado |
| Semilla demo | Solo para instalación de ejemplo |
No commitear dumps con datos reales ni scripts de diagnóstico.
LifeQuest/
├── app/ # Controllers, Services, Views, Auth, Router
├── assets/ # CSS y JS
├── config/ # app.php, database.php, env.php
├── docs/screenshots/ # Capturas para esta guía
├── sql/schema.sql # Único esquema SQL
├── index.php
├── install.php
├── migrate.php
├── .env.example
└── README.md
- Una cuenta por instalación (uso personal).
- Zona horaria por defecto:
America/Argentina/Buenos_Aires. - Sesión: cookie renovable 24 h (
SESSION_LIFETIME/SESSION_IDLE). - El semillero demo inventa datos del año en curso; no son datos reales del dueño del repo.



