Skip to content

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plantlog

Plantlog ist ein privates Grow-Journal für Pflanzenzyklen. Die Vue-App verbindet ein übersichtliches Growboard mit Firebase Authentication, benutzergetrennten Firestore-Daten und einem moderierbaren Mitglieder-Chat.

Aktueller Stand

Version 0.10.0 ist der erste größere Fundament-Umbau:

  • neues responsives Plantlog-Design statt Vue-Starterlayout
  • funktionierendes Tailwind CSS 4
  • Login und Registrierung mit Anzeigename, E-Mail/Passwort oder Google
  • persönliche Grow-Liste unter /users/{uid}/grows
  • Zyklusfortschritt, ungefähre Restzeit und Erntefenster
  • Notizen und Status direkt am Grow
  • Mitglieder-Chat ohne öffentliche E-Mail-Adressen
  • eigene Nachrichten können gelöscht werden
  • Administratoren können alle Chat-Nachrichten löschen
  • versionierte Firestore Rules mit Feld-, Typ- und Längenvalidierung

Vorhandene Grow-Dokumente mit dem bisherigen Schema bleiben lesbar.

Stack

  • Vue 3, Vue Router und Pinia
  • TypeScript und Vite
  • Tailwind CSS 4
  • Firebase Authentication und Cloud Firestore
  • date-fns
  • Vitest, ESLint und Oxlint
  • Firebase Hosting

Lokal starten

Voraussetzungen: Node.js 20.19 oder neuer sowie npm.

npm install
npm run dev

Die lokale App läuft standardmäßig unter http://localhost:5173.

Umgebungsvariablen

Eine lokale .env-Datei wird nicht eingecheckt. Erforderlich sind:

VITE_FB_API_KEY=
VITE_FB_AUTH_DOMAIN=
VITE_FB_PROJECT_ID=
VITE_FB_APP_ID=

Die Firebase-Webkonfiguration ist kein Servergeheimnis. Sicherheit entsteht durch Authentication und die mitgelieferten Firestore Rules. Service-Account-Schlüssel gehören niemals in dieses Repository.

Firebase einrichten

  1. E-Mail/Passwort und optional Google unter Firebase Authentication aktivieren.
  2. Cloud Firestore anlegen.
  3. Rules und Indexe deployen:
firebase deploy --only firestore:rules,firestore:indexes
  1. Für einen Administrator die Schritte in FIREBASE_ADMIN.md ausführen.
  2. Hosting veröffentlichen:
firebase deploy --only hosting:growapp

Live: https://growapp-sleeptimerwin.web.app

Firebase führt vor einem Hosting-Deployment automatisch den Produktionsbuild aus.

Datenmodell

admins/{uid}
  enabled: true

users/{uid}
  displayName
  updatedAt

users/{uid}/grows/{growId}
  name
  startDate
  vegDays
  flowerDays
  status
  notes
  createdAt
  updatedAt

globalMessages/{messageId}
  text
  userId
  userName
  createdAt

Admin-Dokumente können nicht durch den Webclient erstellt oder verändert werden.

Qualitätschecks

npm run check
npm audit

npm run check führt TypeScript, Oxlint, ESLint, Unit-Tests und den Produktionsbuild nacheinander aus.

Nächste Ausbaustufe

  • Cabinets beziehungsweise Zelte
  • einzelne Pflanzen mit tatsächlichem Phasenbeginn
  • frei definierbare Zyklusvorlagen
  • Ereignis-Timeline für Gießen, Düngung, Fotos und Beobachtungen
  • Profilseite zum Ändern des Anzeigenamens
  • Chat-Meldungen, Moderationsprotokoll und Pagination
  • Firestore-Emulator-Tests für Security Rules

About

grow planer

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages