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:

parking-manager

Various images of the application: