Instalación y configuración local
Requisitos previos
- Navegador web moderno (Chrome, Firefox, Edge, Safari)
- Servidor web local (se recomienda XAMPP)
- Cuenta en Supabase (para el backend)
- Git
Clonar el repositorio
git clone https://github.com/Samuel-David-Garcia-Mejia/mambkids.git
cd mambkids
Estructura de archivos
mambkids/
├── app.html # Aplicación principal (SPA)
├── index.html # Página de entrada/redirección
├── script.js # Lógica de la aplicación
├── styles.css # Estilos globales
├── config.js # Configuración de Supabase
├── docs-site/ # Documentación (Docusaurus)
└── README.md
Configuración de Supabase
- Crea un proyecto en supabase.com
- Copia tu Project URL y anon key desde Settings → API
- Edita el archivo
config.js:
const SUPABASE_URL = 'https://TU-PROYECTO.supabase.co';
const SUPABASE_ANON_KEY = 'TU_ANON_KEY';
window.supabaseClient = window.supabase.createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
Crear las tablas en Supabase
Ejecuta el siguiente SQL en el SQL Editor de Supabase:
-- Tabla de perfiles de usuario
CREATE TABLE perfiles (
id uuid PRIMARY KEY REFERENCES auth.users(id),
nombre varchar NOT NULL,
colegio varchar,
grado varchar,
avatar varchar,
created_at timestamptz DEFAULT now()
);
-- Tabla de obras
CREATE TABLE obras (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
user_id uuid REFERENCES auth.users(id),
nombre varchar NOT NULL,
descripcion text,
estilo varchar,
imagen_url text,
created_at timestamptz DEFAULT now()
);
-- Tabla de favoritos
CREATE TABLE obras_favoritas (
user_id uuid REFERENCES auth.users(id),
obra_id uuid REFERENCES obras(id),
PRIMARY KEY (user_id, obra_id)
);
-- Tabla de logros (catálogo)
CREATE TABLE logros (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
nombre varchar NOT NULL,
condicion text NOT NULL,
icon_name varchar,
requisito int2 NOT NULL DEFAULT 1,
created_at timestamptz DEFAULT now()
);
-- Tabla de logros por usuario
CREATE TABLE usuario_logros (
user_id uuid REFERENCES auth.users(id),
logro_id uuid REFERENCES logros(id),
conteo integer NOT NULL DEFAULT 0,
cumple_requisito boolean NOT NULL DEFAULT false,
updated_at timestamptz DEFAULT now(),
PRIMARY KEY (user_id, logro_id)
);
Ejecutar localmente
- Coloca los archivos en la carpeta
htdocsde XAMPP:C:\xampp\htdocs\mambkids\ - Inicia Apache desde el panel de control de XAMPP
- Abre
http://localhost/mambkids/app.htmlen tu navegador
Hosting en Azure Static Web Apps
La app está desplegada en Microsoft Azure. Para desplegar tu propia versión:
- Crea un recurso Static Web App en el portal de Azure
- Conecta tu repositorio de GitHub
- Configura el workflow generado automáticamente por Azure
- Cada push a
maindesplegará automáticamente los cambios