Fujimod
브라우저에서 카메라 펌웨어를 시험하고 Fujimod SD 부팅 파일을 만든다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Web que monta planes por horas en León y su provincia con IA: la persona dice qué le apetece, su presupuesto y una zona en el mapa, y recibe una ruta con sitios reales (comprobados en Google Places), la previsión del tiempo y la agenda de eventos de ese día. Los planes se pueden compartir y votar en grupo.
Hecha con Next.js 16 (App Router), React 19, Tailwind 4 y Leaflet. Se despliega en Vercel.
npm install
npm run dev
Abre http://localhost:3000. Sin Redis configurado, los datos se guardan en memoria y se borran al reiniciar.
| Comando | Para qué |
|---|---|
npm run dev | Servidor de desarrollo |
npm run build | Compilar para producción |
npm run lint | Revisar el código con ESLint |
npm test | Tests de la lógica (duplicados, horas, presupuesto, finde, votos…) |
Van en .env.local en local y en Vercel → Settings → Environment Variables.
| Variable | Obligatoria | Qué es |
|---|---|---|
GEMINI_API_KEY | Sí | Clave de Google AI Studio (Gemini). Solo se usa en el servidor. |
GOOGLE_MAPS_API_KEY | Sí | Places, Geocoding y fotos de Google Maps. |
STREET_VIEW_API_KEY | No | Clave para la vista 360º. Acaba en el navegador (va dentro del iframe), así que restríngela por dominio en Google Cloud. Si falta, se usa GOOGLE_MAPS_API_KEY (nunca la de Gemini). |
KV_REST_API_URL / KV_REST_API_TOKEN | En producción | Redis de Upstash (Vercel → Storage → Upstash for Redis). También valen UPSTASH_REDIS_REST_URL / _TOKEN. |
PANEL_CLAVE | Para /panel | Contraseña del panel del equipo. |
NEGOCIOS_SECRETO | Recomendada | Firma los enlaces privados de cada local (/negocio/…). Si falta, se usa PANEL_CLAVE. |
CRON_SECRET | En producción | Vercel la manda a los crons. Sin ella, los crons responden 401. |
NEXT_PUBLIC_SITE_URL | Con dominio propio | Por ejemplo https://cazurronics.es (sitemap, enlaces y textos para compartir). |
NEXT_PUBLIC_GAS_BUSINESS_URL | No | Google Apps Script que recibe las solicitudes de negocios (además se guardan en /panel). |
RESEND_API_KEY, AVISO_EMAIL, AVISO_DE | No | Correos de aviso al equipo (resumen del finde y locales listos para escribirles). |
TELEGRAM_TOKEN, TELEGRAM_SECRETO (y opcional TELEGRAM_CHAT_ID) | No | Bot de Telegram "asesor de métricas" (web + Instagram). Tras ponerlas, abre https://www.cazurronics.es/api/telegram?activar=PANEL_CLAVE y abre el enlace de un solo uso que te da (15 min): queda emparejado contigo. |
INSTAGRAM_TOKEN | No | Token de la API de Instagram (inicio de sesión de Instagram). El cron /api/telegram/diario guarda las cifras cada mañana y lo renueva solo. |
Montar un plan (/api/plan):
src/lib/gemini.js)./plan/ID). Las estadísticas y los rankings se escriben en segundo plano.Agenda de eventos (src/lib/eventos.js): los crons de vercel.json barren cada día las fuentes de la provincia (datos abiertos de la Junta y búsquedas dirigidas con Gemini). Solo se publica lo que tiene una fuente comprobada. De ahí salen /agenda-leon, las páginas por zona, /finde y "Qué hacer hoy/mañana".
Panel del equipo (/panel): analítica propia sin cookies, ranking de locales con su enlace privado, estado del barrido, resumen del finde para redes y captación de negocios.
src/
app/ páginas y rutas de la API (App Router)
api/ plan, retocar, planes (compartir y votar), barrido, panel, finde, captación…
components/ componentes de la interfaz
lib/ lógica: almacén (Redis), IA, eventos, agenda, zonas, lugares, freno anti-abuso…
tests/ tests de la lógica (Vitest)
vercel.json crons del barrido y de los avisos