Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Checklist para el traspaso de turno: se marca con el dedo y el estado viaja dentro del link,
así se comparte por WhatsApp y quien lo recibe lo abre tal cual quedó. Sin cuentas ni base de datos:
es un solo archivo (index.html).
2 de 5).+ (o Enter).× a la derecha de cada línea.| Botón | Color | Qué hace |
|---|---|---|
| Registrar y enviar | verde François | Guarda el traspaso (quién entrega, quién recibe, fecha/hora y % de avance) y abre WhatsApp con el resumen + un link que lleva todo adentro. Un traspaso = un envío. |
| cobre | Descarga un PDF del checklist actual (con entrega/recibe, fecha y tareas) para archivar. | |
| Registro semanal | verde pino | Abre el panel con los traspasos de la semana y la efectividad (% promedio de avance). Desde ahí se descarga PDF y se exporta/importa. |
| Desmarcar | oro | Deja todas las tareas sin marcar para empezar un turno nuevo (no borra las tareas). |
| Vaciar | ladrillo | Borra todas las tareas (pide confirmación). |
Paleta institucional François (verde bosque + crema + cobre), tipografía Inter y el emblema de la taza en el encabezado. Colores por función: verde = acción principal, cobre = guardar/descargar, verde pino = reportes, oro = reversible, ladrillo = destructivo.
.json) e Importar
(fusiona un .json), por si quieren juntar registros de varios equipos a mano.Tarjeta 📸 Traspaso verificado: registra un traspaso con foto tomada en vivo con la
cámara (no se puede elegir de la galería), ubicación del momento y hora puesta por
el servidor. Como esta app es vanilla (sin build), usa supabase-js cargado por CDN.
En index.html, bloque CONFIG (busca SUPABASE_URL):
const SUPABASE_URL = "https://TU-PROYECTO.supabase.co";
const SUPABASE_ANON_KEY = "TU_ANON_KEY"; // pública por diseño; la protege RLS
Hasta configurarlo, la tarjeta muestra “Falta configurar Supabase” y el resto de la app funciona igual.
create table if not exists public.traspasos_turno (
id uuid primary key default gen_random_uuid(),
archivo text not null,
colaborador text,
turno text,
lat float8,
lng float8,
precision_m float8,
created_at timestamptz not null default now() -- la HORA la pone el servidor
);
alter table public.traspasos_turno enable row level security;
create policy "insert autenticado" on public.traspasos_turno
for insert to authenticated with check (true);
create policy "select autenticado" on public.traspasos_turno
for select to authenticated using (true);
insert into storage.buckets (id, name, public)
values ('traspasos','traspasos', false)
on conflict (id) do nothing;
create policy "subir traspasos" on storage.objects
for insert to authenticated with check (bucket_id = 'traspasos');
create policy "ver traspasos" on storage.objects
for select to authenticated using (bucket_id = 'traspasos');
La app no tiene login; para cumplir el RLS authenticated usa sesión anónima.
En Supabase: Authentication → Sign In / Providers → Anonymous sign-ins = ON.
La cámara (getUserMedia) y la ubicación (geolocation) solo funcionan en HTTPS
(o localhost). La app ya está en HTTPS en Vercel, así que ✅.
navigator.mediaDevices.getUserMedia (cámara en vivo). Sin
<input type="file"> ni capture → no se puede subir de la galería.created_at timestamptz default now() en el servidor; nunca la fecha del
teléfono.getCurrentPosition({enableHighAccuracy:true, timeout:8000}) en el mismo
momento de la captura. Si el usuario la niega o expira, el traspaso igual se registra
con lat/lng = null y muestra “sin ubicación”.index.html. Sin frameworks, sin build, sin backend.jspdf (por CDN) para generar los PDF.localStorage — checklist en checklist.v1, registro de traspasos en
checklist.reg.v1 — más el estado en el hash del link.Es un sitio estático de un solo archivo.
https://tu-proyecto.vercel.app.Alternativa por CLI: npm i -g vercel, entrar a la carpeta y vercel.
Si algún día son muchísimas tareas, el link se alarga. Ahí conviene pasar a una versión con base de datos (Vercel KV / Upstash). Para el uso normal de turno no hace falta.