Within the framework of the course “Software Engineering I – Laboratory” (Department of Informatics and Communications, T.E.I. of Central Macedonia) we developed as a semester assignment a parking management application.
Both the graphical user interface (GUI) and the application are implemented with Qt in C++. Specifically, with this application, the end user can manage a variety of customers, customer cards, vehicles, transactions, parking, vehicle fees, etc.
Features of the application:
- Portability across operating systems
- Using lightweight SQLite database
- Using splash screen on startup
- Maintain application’s settings either in INI files or Registry
- Object-oriented design implementation
- Ability to support multilingualism with Locales (i18n)
- Security from SQL Injection attacks
- Use W3C CSS to GUI objects to format them
- Using XML file to access the resources of the application
- Using non-linear finite state machine to process payment
- Full documentation of source code and use of Doxygen
Significant improvements the application could accept:
- Possibility of issuing many membership cards for a client
- Factory design pattern for Banking Modules and membership cards
- Strategy design pattern on charges of membership cards
- 3-Tier architecture with Models, DAOs, Logic Services and View DTOs
For more information you can get the project itself:
Various images of the application: