Μια ολοκληρωμένη διαδικτυακή εφαρμογή για τον υπολογισμό και τη βελτιστοποίηση σιτηρεσίων παραγωγικών ζώων. Σχεδιασμένη για φοιτητές Κτηνιατρικής/Γεωπονίας, επαγγελματίες και ιδιώτες που επιθυμούν να δημιουργήσουν ισορροπημένα και οικονομικά σιτηρέσια.
- Βελτιστοποίηση Κόστους: Χρήση Γραμμικού Προγραμματισμού (Linear Programming - GLPK) για την ελαχιστοποίηση του κόστους διατροφής, καλύπτοντας ταυτόχρονα όλες τις θρεπτικές ανάγκες.
- Διαχείριση Χρηστών: Σύστημα εγγραφής και σύνδεσης χρηστών (Φοιτητές & Ιδιώτες) με χρήση PocketBase.
- Προσαρμοσμένη Βάση Δεδομένων:
- Οι Τροφές μου: Δυνατότητα προσθήκης και επεξεργασίας τροφών με τις δικές τους θρεπτικές αναλύσεις και τιμές.
- Τα Σιτηρέσιά μου: Αποθήκευση, προβολή και επεξεργασία παλαιότερων σιτηρεσίων.
- Ευελιξία: Υποστήριξη για διάφορα είδη ζώων και παραμετροποίηση περιορισμών (π.χ. μέγιστη/ελάχιστη ποσότητα τροφής).
- Φιλικό Περιβάλλον: Μοντέρνος σχεδιασμός με χρήση SvelteKit, Skeleton UI και Tailwind CSS.
Το project βασίζεται σε σύγχρονες τεχνολογίες web:
- Frontend: SvelteKit
- Styling: Tailwind CSS & Skeleton UI
- Backend/Database: PocketBase
- Optimization Solver: GLPK.js (GNU Linear Programming Kit port for JS) & Yalps
graph TD
A[Επισκέπτης] -->|Εγγραφή/Σύνδεση| B(Χρήστης)
B --> C{Επιλογές}
C -->|Διαχείριση Τροφών| D[Οι Τροφές μου]
C -->|Δημιουργία Σιτηρεσίου| E[Νέο Σιτηρέσιο]
C -->|Ιστορικό| F[Τα Σιτηρέσιά μου]
D --> E
E --> G[Επιλογή Ζώου]
G --> H[Επιλογή Τροφών]
H --> I[Ορισμός Περιορισμών]
I --> J[Επίλυση με GLPK]
J --> K[Προβολή Αποτελέσματος]
K --> L[Αποθήκευση]
Η εφαρμογή τρέχει εξ ολοκλήρου στον browser (client-side) όσον αφορά την επίλυση του μαθηματικού μοντέλου, ενώ επικοινωνεί με το PocketBase για την πιστοποίηση και την αποθήκευση δεδομένων.
graph LR
subgraph Client [Browser]
UI[User Interface ]
Logic[App Logic]
Solver[GLPK.js / Yalps]
end
subgraph Server [Cloud / Local]
PB[PocketBase - Auth & DB]
end
UI --> Logic
Logic --> Solver
Logic <-->|HTTPS| PB
Για να τρέξετε την εφαρμογή τοπικά στον υπολογιστή σας:
-
Κλωνοποίηση του αποθετηρίου:
git clone <repository-url> cd r
-
Εγκατάσταση εξαρτήσεων: Βεβαιωθείτε ότι έχετε εγκατεστημένο το Node.js.
npm install # ή pnpm install -
Ρύθμιση Περιβάλλοντος: Η εφαρμογή είναι ρυθμισμένη να συνδέεται σε ένα demo PocketBase instance (
https://rationvetauth.pockethost.io/). Αν θέλετε να χρησιμοποιήσετε δικό σας backend, ενημερώστε το αρχείοsrc/lib/pocketbase.tsή δημιουργήστε ένα αρχείο.env. -
Εκκίνηση Development Server:
npm run dev
-
Άνοιγμα στον Browser: Επισκεφθείτε τη διεύθυνση
http://localhost:5173.
Οι συνεισφορές είναι ευπρόσδεκτες! Αν βρείτε κάποιο σφάλμα ή έχετε ιδέες για βελτίωση, παρακαλώ ανοίξτε ένα issue ή ένα pull request.