Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Next.js (App Router, TypeScript, Tailwind) + Supabase (Postgres, Auth, Storage). Dieses Grundgerüst ist der Start für die neue, modulare Version von MyImmo. 1. Fundament ← du bist hier: Datenmodell + Next.js-Gerüst + Auth + Portfolio-Übersicht 2. Kernverwaltung: Objekte, Einheiten, Mieter, Mietverträge anlegen & bearbeiten 3. Dokumente: Mahnung, Kündigung, Anschreiben als PDF generieren + an Mieter mailen 4. Betriebskosten: Abrechnung hochladen → OCR → Positionen pro Mieter → Nebenkostenabrechnung → mailen 5. Bewertung: Bodenrichtwerte + Marktdaten → laufende Neubewertung des Portfolios檢視完整 README ↗
Next.js (App Router, TypeScript, Tailwind) + Supabase (Postgres, Auth, Storage). Dieses Grundgerüst ist der Start für die neue, modulare Version von MyImmo.
# 1. Abhängigkeiten installieren
npm install
# 2. Umgebungsvariablen anlegen
cp .env.local.example .env.local
# NEXT_PUBLIC_SUPABASE_URL und NEXT_PUBLIC_SUPABASE_ANON_KEY eintragen
# (Supabase Dashboard > Project Settings > API)
# Projekt: kozhxrvyilkchjpcuwcm
# 3. Dev-Server starten
npm run dev
# → http://localhost:3000
⚠️ Die Datenbank existiert bereits und enthält echte Daten (9 Objekte, 6 Mieter, Buchungen). Kein Schema einspielen.
supabase/schema.sqlist veraltet; die tatsächliche Struktur steht insupabase/schema-reference.sql.
properties, mieter, einnahmen, kosten, kredite,
verbrauch, notizen, termine, ibans. Besitzspalte überall user_id.auth.uid() = user_id — jeder Vermieter sieht nur
seine eigenen Daten. Diese App setzt beim Anlegen user_id automatisch./login).NEXT_PUBLIC_*-Variablen unter Settings > Environment Variables
eintragen.main deployt automatisch.app/
layout.tsx Layout + Navigation + Abmelden
page.tsx Portfolio-Übersicht
login/page.tsx Login / Registrierung
auth/signout/route.ts Logout
properties/ Objekte: Liste, /new, /[id]/edit
tenants/ Mieter: Liste, /new, /[id]/edit
globals.css
components/
PropertyForm.tsx Objekt-Formular
TenantForm.tsx Mieter-Formular
lib/
supabase/client.ts Supabase-Client (Browser)
supabase/server.ts Supabase-Client (Server)
actions/properties.ts Server Actions (create/update/delete)
actions/tenants.ts Server Actions (create/update/delete)
types.ts TypeScript-Typen (= echtes Schema)
middleware.ts Session-Refresh
supabase/
schema-reference.sql Doku des bestehenden Schemas (nicht ausführen)
properties (Objekt) ← mieter (über prop_id)
einnahmen · kosten · kredite · verbrauch · notizen · termine · ibans
(alle mit prop_id → properties.id)
Jede Zeile gehört genau einem Vermieter (user_id = auth.uid()),
abgesichert per Row-Level-Security.
mieter_positionen — id, user_id, mieter_id → mieter, bezeichnung, betrag,
umlageschluessel, jahr, umlagefaehig, created_at. RLS: auth.uid() = user_id.
Per Migration add_mieter_positionen angewendet — bestehende Daten unberührt.
Hinweis zur Bewertung: Bodenrichtwerte gibt es offiziell über die BORIS-Portale der Bundesländer. Vergleichspreise aus Immobilienportalen sind nicht frei/legal per API verfügbar — diese Phase bewusst später planen.