Skip to content

About

mini web app that runs locally and promotes collaboration among public sector agencies

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dim-Asti Project

Το Dim-Asti (Δημοτική Αστυνομία & Έλεγχοι Καταστημάτων) είναι μια πλήρης, μοντέρνα και ταχύτατη web εφαρμογή, σχεδιασμένη ειδικά για δήμους και δημόσιες υπηρεσίες (Δημοτική Αστυνομία, Τεχνική Υπηρεσία, Υπηρεσία Προσόδων) με σκοπό την αποτελεσματική διαχείριση και παρακολούθηση των ελέγχων, των αδειών και των οφειλών των καταστημάτων υγειονομικού ενδιαφέροντος.


🚀 Δυνατότητες & Χαρακτηριστικά

  • Κεντρικό Μητρώο Καταστημάτων: Πλήρης καταγραφή στοιχείων (Επωνυμία, Διεύθυνση, ΑΦΜ, ΔΟΥ, Έκταση κ.λπ.).
  • Διαχείριση Οφειλών: Ζωντανός υπολογισμός ισοζυγίου (Οφειλή - Εισπραχθέντα = Υπόλοιπο).
  • Ιστορικότητα Δεδομένων (Ανά Έτος): Πλήρης διαχωρισμός των ελέγχων και των οικονομικών καταστάσεων ανά έτος.
  • Μηχανισμός Αυτόματης Μετάβασης (New Year Transition): Αυτόματη μεταφορά όλων των ενεργών καταστημάτων στο νέο έτος (π.χ. 2026 -> 2027) με ταυτόχρονο αυτόματο μηδενισμό οφειλών για να ξεκινήσει η νέα χρονιά σωστά.
  • Εξαγωγή & Εκτύπωση: Εξαγωγή της τρέχουσας προβολής σε έγγραφο Excel (.xlsx). Δυνατότητα άμεσης εκτύπωσης ("Εκτύπωση Αναφοράς"), βελτιστοποιημένη με κανόνες @media print CSS για άψογη εμφάνιση σε σελίδα A4 χωρίς περιττά μενού.
  • Responsive & Modern UI: Δυναμικό περιβάλλον με εναλλαγή μεταξύ Φωτεινού (Light) και Σκοτεινού (Carbon Graphite) θέματος.

🛠️ Τεχνολογίες & Αρχιτεκτονική (Stack)

Το έργο ακολουθεί μια εξαιρετικά ελαφριά Client-Server αρχιτεκτονική. Δεν χρησιμοποιήθηκαν περίπλοκα web frameworks ώστε να είναι άμεσα εκτελέσιμο (portable) σε οποιοδήποτε λειτουργικό σύστημα χωρίς setup.

Backend (Διακομιστής)

  • 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.

Frontend (Διεπαφή Χρήστη)

  • 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.

⚙️ Εγκατάσταση και Εκτέλεση (Build, Run, Deploy)

Το σύστημα μπορεί να τρέξει άμεσα τόσο σε Windows όσο και σε Linux / Debian. Απαιτείται απλά να είναι εγκατεστημένη η Python 3.

💻 Οδηγίες για Windows (Ανάπτυξη / Τοπική Χρήση)

  1. Κατεβάστε το αποθετήριο:
    git clone https://github.com/blancberger/dim-asti-project.git
  2. Μεταβείτε στον φάκελο της εφαρμογής:
    cd dim-asti-project/app
  3. (Προαιρετικά) Δημιουργήστε ένα εικονικό περιβάλλον (Virtual Environment): python -m venv venv και ενεργοποιήστε το με venv\Scripts\activate.
  4. Εγκαταστήστε τα dependencies:
    pip install -r ../requirements.txt
  5. Εκκίνηση: Κάντε διπλό κλικ στο αρχείο run_server.bat (ή τρέξτε στο τερματικό python server.py).
  6. Ανοίξτε τον browser σας στη διεύθυνση: http://localhost:3000

🐧 Οδηγίες για Linux / Debian (Deployment / Production)

  1. Κατεβάστε το αποθετήριο:
    git clone https://github.com/blancberger/dim-asti-project.git
  2. Μεταβείτε στον φάκελο της εφαρμογής:
    cd dim-asti-project/app
  3. Εγκαταστήστε την απαραίτητη βιβλιοθήκη OpenPyXL:
    pip3 install -r ../requirements.txt
    (Σε νεότερα Debian, ίσως χρειαστεί να τρέξετε python3 -m venv venv, μετά source venv/bin/activate και έπειτα το pip3 install).
  4. Δώστε δικαιώματα εκτέλεσης στο Bash script:
    chmod +x run_server.sh
  5. Εκκίνηση: Εκτελέστε τον Server:
    ./run_server.sh
  6. Ανοίξτε τον browser σας στη διεύθυνση: http://localhost:3000

Σημείωση για Production: Για 24/7 λειτουργία σε Linux VPS (π.χ. Debian/Ubuntu), συνιστάται η δημιουργία ενός αρχείου systemd (dim-asti.service) που θα τρέχει το server.py μόνιμα στο background και θα το επανεκκινεί σε περίπτωση reboot του server.


🔐 Πρόσβαση (Credentials)

Για διευκόλυνση της αρχικής εγκατάστασης, το σύστημα έρχεται με προρυθμισμένα τα εξής διαπιστευτήρια διαχειριστή (Admin):

  • Username: admin
  • Password: admin

(Συνιστάται ιδιαίτερα η αλλαγή τους μέσα στον κώδικα app/server.py σε περιβάλλον πραγματικής παραγωγής/δημόσιας έκθεσης).


📝 Άδεια Χρήσης (License)

Το έργο διατίθεται υπό την MIT License. Επιτρέπεται η ελεύθερη χρήση, τροποποίηση και διανομή του, με την αυστηρή προϋπόθεση ότι θα γίνεται πάντα αναφορά (attribution) στον αρχικό δημιουργό.

Δημιουργός: blancberger © 2026. Δείτε το αρχείο LICENSE για όλες τις νομικές λεπτομέρειες.

About

mini web app that runs locally and promotes collaboration among public sector agencies

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages