How noe-zm28/sca-automatico works
This is a Tkinter parking-management system with selectable cashier, entrance, and exit modes. Its user workflow covers vehicle entry, active-ticket lookup and tariff or promotion calculation, payment and exit, with related cashier operations for cuts, reprints, and reports. Separate screens manage pension customers and their payments, users, and system configuration. MariaDB-backed models provide operational and CRUD data; controllers handle configuration, pricing, printing, and email. The README documents these capabilities and JSON configuration, but sampled excerpts do not establish all screen-to-controller call paths, so uncertain wiring is omitted.
Main entry points: Model.py Parking operations · PrinterController.py Ticket printing · ConfigController.py JSON configuration · main.py Mode launcher
Components 22
Desktop workflows
- Mode launcher
main.py - System login
Views/ViewLoginSystem.py - System selection
Views/ViewSelectSystem.py - Cashier UI
Views/ViewCobro.py - Entry UI
Views/ViewEntrada.py - Exit UI
Views/ViewSalida.py - Automatic entry
Review/ViewEntradaAutomatica.py - Automatic exit
Review/ViewSalidaAutomatica.py - Pension screens
Views/ViewAgregarPensionado.py - User screens
Views/ViewCrudUsuariosTpv.py - Configuration screens
Views/ViewPanelConfig.py - Pension payments
Views/ViewPaidPension.py
Parking operations
- Tariff calculation
Controllers/CobroController.py - Shared utilities
Tools/Tools.py
Data and configuration
- Parking operations
Models/Model.py - Pension and user queries
Models/Queries.py - MariaDB
DB/db_base.sql - JSON configuration
Controllers/ConfigController.py
Output services
- Ticket printing
Controllers/PrinterController.py - Email delivery
Controllers/EmailController.py
Other components
- Operator
- SMTP server
Connections 39
- Operator → Mode launcher: starts
- Mode launcher → JSON configuration: reads mode
- Mode launcher → System login: loads cashier
- Mode launcher → Entry UI: loads entry
- Mode launcher → Exit UI: loads exit
- Operator → Cashier UI: uses
- Operator → Entry UI: uses
- Operator → Exit UI: uses
- Operator → Pension screens: manages
- Operator → User screens: manages
- Operator → Configuration screens: configures
- Operator → Pension payments: reviews payments
- Operator → System selection: selects mode
- Entry UI → Parking operations: records entry
- Entry UI → Ticket printing: prints ticket
- Exit UI → Parking operations: reads vehicle
- Cashier UI → Parking operations: queries and updates
- Cashier UI → Tariff calculation: calculates charge
- Cashier UI → Ticket printing: prints receipts
- Cashier UI → Email delivery: sends reports
- Tariff calculation → JSON configuration: reads rates
- Automatic entry → Parking operations: records entry
- Automatic entry → Ticket printing: prints ticket
- Automatic exit → Parking operations: records exit
- Pension screens → Pension and user queries: manages records
- Pension screens → Ticket printing: prints QR
- Pension payments → Pension and user queries: reads payments
- User screens → Pension and user queries: manages users
- Configuration screens → JSON configuration: updates settings
- Parking operations → JSON configuration: reads DB settings
- Pension and user queries → Parking operations: uses operations
- Parking operations → MariaDB: reads and writes
- Pension and user queries → MariaDB: queries records
- Ticket printing → JSON configuration: reads printer settings
- Ticket printing → Parking operations: records RFID
- Email delivery → SMTP server: sends mail
- Email delivery → JSON configuration: reads mail settings
- Ticket printing → Shared utilities: uses utilities
- Email delivery → Shared utilities: uses utilities