MaVille
App to connect citizens, contractors, and the city for real-time public works management.
Summary
Command-line and GUI platform that centralizes reports, automates prioritization, and lets contractors respond to projects. Targeted notifications and local persistence.
Features
Profiles
Resident, Contractor, City (STPM) with dedicated menus and permissions.
Reports
Create issues with neighborhood, street, type, description, and tracking.
Projects
List of ongoing/upcoming works, filter by district and type.
Bids
Contractors submit quotes, manage active projects.
Prioritization
Automatic priority assignment by the city (STPM).
Notifications
Subscriptions/notifications by area and project.
Architecture
Model & Data
Entities: Project, Issue, Resident, Contractor. JSON DAO for local persistence and external Montréal API integration.
Services & Interfaces
Resident/Contractor/City/Notification services. CLI, GUI, and Javalin REST server interfaces.