TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Planlegg
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Få gjengen samlet. Et produkt fra Nordlys Kapital. Mobilapp (iOS + Android) og mobilweb for å finne en dato som passer for gjengen. Arrangøren foreslår dager, gjestene trykker på dagene de ikke kan – uten konto – og appen finner beste dato. Stack: Expo SDK 57 · React Native 0.86 · Expo Router · TypeScript · Supabase (Auth, Postgres, RLS, Realtime, Storage, Edge Functions) · React Query · Zustand · Reanimated. Se docs/ARCHITECTURE.md for informasjonsarkitektur, navigasjon og datamodell.檢視完整 README ↗
Få gjengen samlet.
Et produkt fra Nordlys Kapital.
Mobilapp (iOS + Android) og mobilweb for å finne en dato som passer for gjengen. Arrangøren foreslår dager, gjestene trykker på dagene de ikke kan – uten konto – og appen finner beste dato.
Stack: Expo SDK 57 · React Native 0.86 · Expo Router · TypeScript · Supabase (Auth, Postgres, RLS, Realtime, Storage, Edge Functions) · React Query · Zustand · Reanimated.
Se docs/ARCHITECTURE.md for informasjonsarkitektur, navigasjon og datamodell.
npm install
npm run web # eller: npm run ios / npm run android
Uten Supabase-nøkler kjører appen på realistiske demodata generert ut fra dagens dato: Badstu med jentene (låst), Kortkveld (5 av 8 har svart – et nytt svar «kommer inn» live etter fem sekunder), Middag (dato ikke bestemt), en Padel-invitasjon fra Sofie og fire gjenger. Innlogging simuleres.
Prøv:
| Flyt | Hvor |
|---|---|
| Lag noe → finn dato → inviter → (logg inn) → sendt | «Planlegg noe» på velkomstskjermen |
| Resultater live → lås dato → «Vi har en dato!» | Hjem → Kortkveld |
| Gjest uten konto svarer i nettleseren | Logg ut, åpne /i/kortkveld-demo |
| Ett trykk til neste gang | Gjenger → Familien → «Finn neste dato» |
| Gjest → profil → venn | Logg ut, åpne /i/kortkveld-demo, svar, «Opprett profil», «Legg til Emma» |
| Venner, forespørsler, søk | Profil → Venner (prøv å søke «thomas»), eller /@thomas |
| Gjeng med gjester uten konto | Gjenger → Kortklubben → «Planlegg noe» → send → personlige lenker |
.env.example til .env.local:
EXPO_PUBLIC_SUPABASE_URL=https://<ref>.supabase.co
EXPO_PUBLIC_SUPABASE_ANON_KEY=<publiserbar anon-nøkkel>
EXPO_PUBLIC_WEB_URL=https://<domenet der weben hostes>
Kun offentlige verdier hører hjemme her. Service role-nøkkelen skal aldri i klienten.npx supabase link --project-ref <ref>
npx supabase db push
{{ .Token }}), og legg til redirect-URL-ene
nordlysplanlegger://auth-callback og din web-URL (brukes av bekreftelseslenken ved registrering).npx supabase functions deploy push-dispatch --no-verify-jwt
npx supabase secrets set PUSH_WEBHOOK_SECRET=<tilfeldig streng>
Lag en Database Webhook (Database → Webhooks) på INSERT i public.notifications som kaller
funksjonen med headeren x-webhook-secret: <samme streng>.pg_cron og kjør linjen som er kommentert ut nederst i migrasjonen
(generate_nudges() daglig kl. 09).npx eas-cli init og legg EXPO_PUBLIC_EAS_PROJECT_ID i .env.local (trengs for Expo push-tokens).Invitasjoner deles som https://<EXPO_PUBLIC_WEB_URL>/i/<token>. Samme kodebase eksporteres til web:
npm run export:web # → dist/
vercel.json er klar for Vercel (SPA-rewrite for /i/*). Med appen installert åpnes lenken
direkte i appen via universal links / app links – fyll inn Apple Team ID i
public/.well-known/apple-app-site-association og SHA-256-fingeravtrykket i
public/.well-known/assetlinks.json.
npx eas-cli build --profile development --platform ios # dev-klient (kalender, push)
npx eas-cli build --profile production --platform all
npx eas-cli submit --platform all
npm run typecheck # tsc
npm run lint # expo lint
npm test # rangering, datoer, kategorier, brukernavn (Node test runner)
npm run test:db # kjører migrasjonene på ekte Postgres (PGlite) + 25 scenarioer for RLS, venner, gjenger og gjestekobling
src/app/ ruter (Expo Router): faner, opprett-flyt, arrangement, invitasjon, gjenger, innstillinger
src/components/ designsystem (ui/), kalender, arrangement-, gjeng- og sponsorkomponenter
src/data/ domenetyper, Repository-grensesnitt, demo- og Supabase-implementasjon, React Query-hooks
src/lib/ datoer, rangering, kategorier/bilder, deling, kalender, push, konfig
src/state/ opprett-utkast og sesjon (zustand)
src/theme/ tokens: farger (lys + mørk), typografi, spacing, radius, skygger, bevegelse
supabase/ migrasjon og Edge Function
Ferdig i MVP: konto med e-post (engangskode eller passord), opprett arrangement (fast dato / finn dato /
ikke bestemt), periode, hurtigvalg og tidspunkt, invitasjon via lenke og delingskanaler, svar uten
konto (app og web), «marker dager du ikke kan», live resultater med automatisk rangering, lås dato,
bekreftelse, arrangementside, legg i kalender (.ics på web), gjenger med gjenbruk og «Finn neste
dato», pushvarsler, profil, varselinnstillinger, eksport og sletting av konto.
Sosial graf: gjest først (svar uten konto, profil tilbys etterpå), unike case-insensitive @brukernavn med
sjekk og forslag mens man skriver, gjensidige venner med kontekst, søk og diskrete forslag, profillenke
/@brukernavn (app + web) med QR, «hvem kan finne meg», gjenger med roller og gjester uten konto,
personlige invitasjonslenker, sikker kobling av gjestehistorikk til ny konto, «Lag gruppe av gjengen»
og smart invitasjon basert på egen historikk. Ingen feed, likes, følgere eller chat.
Forberedt, ikke bygget: sponsede forslag (SponsoredSlot, sponsored_placements), Plus
(subscriptions, usePlan()), kalenderintegrasjon med free/busy (calendar_connections),
mørk modus (tokens klare, FEATURES.darkMode).
Neste steg: opplasting av bilder etter arrangementet, endre kandidatdatoer i en pågående avstemning, invitere enkeltpersoner fra telefonens kontakter (krever eksplisitt samtykke), AI-genererte cover.