尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Web app aggregating events happening in Lebanon. Browse by category and date publicly; sign in via social login (Google / Facebook / Apple) to see full details, save favorites, get reminders, and add events to Google Calendar / iCal.
Stack: Next.js 16 (App Router, RSC) · TypeScript · Supabase (Postgres + Auth + RLS) · Tailwind CSS v4 · next-intl (en/ar/fr, RTL) · Mapbox · ics.
npm install
cp .env.local.example .env.local
# fill in Supabase + Mapbox + Resend keys
npm run dev
Open http://localhost:3000 — the proxy will redirect to /en.
supabase/migrations/0001_init.sql (then 0002, 0003) into the SQL editor, or run supabase db push.<your-site>/auth/callback..env.local.Get a public token at https://account.mapbox.com/ and set NEXT_PUBLIC_MAPBOX_TOKEN.
/[locale]/ — home (featured events)./[locale]/events — public browse with category chips + date presets + governorate + search./[locale]/events/[slug] — details; auth-gated./[locale]/map — Mapbox view with clustered pins./[locale]/favorites — saved events./[locale]/submit — user submission form (admin approves)./[locale]/become-a-promoter, /[locale]/promoter, /[locale]/promoter/new-event — promoter application + dashboard + event submission./[locale]/admin — admin queue (role-gated)./auth/callback — Supabase OAuth callback./api/ics/[eventId] — downloads .ics./api/calendar/google/[eventId] — 302 to Google Calendar template.src/
app/
[locale]/ # all localized routes
auth/callback/ # OAuth return URL
api/ # ICS + Google Calendar redirects + ingestion
components/ # UI + feature components
i18n/ # next-intl routing + navigation helpers
lib/
supabase/ # client / server / admin / proxy session refresh
calendar.ts # Google Calendar URL + ICS builder
queries.ts # server-side event queries
utils.ts # cn, date/price formatters, locale picker
messages/ # en | ar | fr
proxy.ts # Next 16 proxy: next-intl + Supabase session refresh
supabase/
migrations/ # 0001_init, 0002_add_promoter_role, 0003_promoter_insert_policies
functions/ # Edge functions (ingestion, reminders) — TODO
Forked from the QuePasa UAE app and adapted for Lebanon: governorates replace emirates, currency is USD, timezone is Asia/Beirut, languages are English/Arabic/French. Auth gating, browse/filter UI, RTL, event detail with media carousel, calendar export, submission flow, promoter subscription system, and admin approval queue all carried over from the UAE app.
TODO before launch: wire the social-auth providers in Supabase Studio for this project specifically, seed real Lebanon events, build the send-reminders cron function, review French/Arabic translation coverage, and run an accessibility audit.