Το Dim-Asti (Δημοτική Αστυνομία & Έλεγχοι Καταστημάτων) είναι μια πλήρης, μοντέρνα και ταχύτατη web εφαρμογή, σχεδιασμένη ειδικά για δήμους και δημόσιες υπηρεσίες (Δημοτική Αστυνομία, Τεχνική Υπηρεσία, Υπηρεσία Προσόδων) με σκοπό την αποτελεσματική διαχείριση και παρακολούθηση των ελέγχων, των αδειών και των οφειλών των καταστημάτων υγειονομικού ενδιαφέροντος.
- Κεντρικό Μητρώο Καταστημάτων: Πλήρης καταγραφή στοιχείων (Επωνυμία, Διεύθυνση, ΑΦΜ, ΔΟΥ, Έκταση κ.λπ.).
- Διαχείριση Οφειλών: Ζωντανός υπολογισμός ισοζυγίου (Οφειλή - Εισπραχθέντα = Υπόλοιπο).
- Ιστορικότητα Δεδομένων (Ανά Έτος): Πλήρης διαχωρισμός των ελέγχων και των οικονομικών καταστάσεων ανά έτος.
- Μηχανισμός Αυτόματης Μετάβασης (New Year Transition): Αυτόματη μεταφορά όλων των ενεργών καταστημάτων στο νέο έτος (π.χ. 2026 -> 2027) με ταυτόχρονο αυτόματο μηδενισμό οφειλών για να ξεκινήσει η νέα χρονιά σωστά.
- Εξαγωγή & Εκτύπωση: Εξαγωγή της τρέχουσας προβολής σε έγγραφο Excel (.xlsx). Δυνατότητα άμεσης εκτύπωσης ("Εκτύπωση Αναφοράς"), βελτιστοποιημένη με κανόνες
@media printCSS για άψογη εμφάνιση σε σελίδα A4 χωρίς περιττά μενού. - Responsive & Modern UI: Δυναμικό περιβάλλον με εναλλαγή μεταξύ Φωτεινού (Light) και Σκοτεινού (Carbon Graphite) θέματος.
Το έργο ακολουθεί μια εξαιρετικά ελαφριά Client-Server αρχιτεκτονική. Δεν χρησιμοποιήθηκαν περίπλοκα web frameworks ώστε να είναι άμεσα εκτελέσιμο (portable) σε οποιοδήποτε λειτουργικό σύστημα χωρίς setup.
- Python (3.8+): Η βασική γλώσσα προγραμματισμού του διακομιστή.
- HTTP.server (Standard Library): Αξιοποιείται η εγγενής βιβλιοθήκη της Python για την εξυπηρέτηση των API requests (
do_GET,do_POST) και των στατικών αρχείων. Αυτό εξαλείφει την ανάγκη για Django ή Flask. - SQLite3 (Standard Library): Σύστημα Διαχείρισης Βάσης Δεδομένων (RDBMS). Η βάση (
database.db) αποθηκεύεται τοπικά ως αρχείο. Υποστηρίζει ασφαλή και γρήγορη αποθήκευση, ιδανική για τα μεγέθη δεδομένων ενός μέσου Δήμου. - OpenPyXL (v3.1.5): Η μοναδική εξωτερική βιβλιοθήκη. Χρησιμοποιείται στον backend controller αποκλειστικά για την on-the-fly δημιουργία, μορφοποίηση και εξαγωγή των reports σε μορφή Excel.
- HTML5 & Vanilla JavaScript: Διαχείριση των Web API κλήσεων (
fetch), του Session management (logins), και των δυναμικών φίλτρων (αναζήτηση, status, χρέη) σε πραγματικό χρόνο χωρίς επαναφόρτωση της σελίδας (SPA-like behavior). - Vanilla CSS3: Το User Interface είναι custom-built χωρίς CSS frameworks (όπως Bootstrap/Tailwind). Χρησιμοποιεί CSS Variables για το Theme Switching, Flexbox/Grid για responsive διατάξεις, και "Glassmorphism" effect elements.
Το σύστημα μπορεί να τρέξει άμεσα τόσο σε Windows όσο και σε Linux / Debian. Απαιτείται απλά να είναι εγκατεστημένη η Python 3.
- Κατεβάστε το αποθετήριο:
git clone https://github.com/blancberger/dim-asti-project.git
- Μεταβείτε στον φάκελο της εφαρμογής:
cd dim-asti-project/app - (Προαιρετικά) Δημιουργήστε ένα εικονικό περιβάλλον (Virtual Environment):
python -m venv venvκαι ενεργοποιήστε το μεvenv\Scripts\activate. - Εγκαταστήστε τα dependencies:
pip install -r ../requirements.txt
- Εκκίνηση: Κάντε διπλό κλικ στο αρχείο
run_server.bat(ή τρέξτε στο τερματικόpython server.py). - Ανοίξτε τον browser σας στη διεύθυνση:
http://localhost:3000
- Κατεβάστε το αποθετήριο:
git clone https://github.com/blancberger/dim-asti-project.git
- Μεταβείτε στον φάκελο της εφαρμογής:
cd dim-asti-project/app - Εγκαταστήστε την απαραίτητη βιβλιοθήκη OpenPyXL:
(Σε νεότερα Debian, ίσως χρειαστεί να τρέξετε
pip3 install -r ../requirements.txt
python3 -m venv venv, μετάsource venv/bin/activateκαι έπειτα τοpip3 install). - Δώστε δικαιώματα εκτέλεσης στο Bash script:
chmod +x run_server.sh
- Εκκίνηση: Εκτελέστε τον Server:
./run_server.sh
- Ανοίξτε τον browser σας στη διεύθυνση:
http://localhost:3000
Σημείωση για Production: Για 24/7 λειτουργία σε Linux VPS (π.χ. Debian/Ubuntu), συνιστάται η δημιουργία ενός αρχείου
systemd(dim-asti.service) που θα τρέχει τοserver.pyμόνιμα στο background και θα το επανεκκινεί σε περίπτωση reboot του server.
Για διευκόλυνση της αρχικής εγκατάστασης, το σύστημα έρχεται με προρυθμισμένα τα εξής διαπιστευτήρια διαχειριστή (Admin):
- Username:
admin - Password:
admin
(Συνιστάται ιδιαίτερα η αλλαγή τους μέσα στον κώδικα app/server.py σε περιβάλλον πραγματικής παραγωγής/δημόσιας έκθεσης).
Το έργο διατίθεται υπό την MIT License. Επιτρέπεται η ελεύθερη χρήση, τροποποίηση και διανομή του, με την αυστηρή προϋπόθεση ότι θα γίνεται πάντα αναφορά (attribution) στον αρχικό δημιουργό.
Δημιουργός: blancberger © 2026. Δείτε το αρχείο LICENSE για όλες τις νομικές λεπτομέρειες.