Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ParkWise Parking Management System

A comprehensive Qt-based parking management application that allows tracking of parked vehicles, check-ins, and check-outs in a multi-level parking facility with real-time data persistence.

ParkWise Logo

Overview

ParkWise is a professional parking management solution designed for multi-level parking facilities. It provides an intuitive interface for managing vehicle entry and exit, tracking occupancy rates, and maintaining a comprehensive log of all parking activities.

Features

  • Secure Authentication: Login system with password encryption and multiple login attempts
  • Comprehensive Dashboard: Real-time statistics on parking occupancy and vehicle traffic
  • Efficient Vehicle Management:
    • Quick park-in with automatic spot allocation
    • Easy check-out with vehicle search
    • Vehicle tracking by license plate
  • Multi-level Parking Visualization: Interactive map of parking spots across multiple levels
  • Detailed Reporting: CSV exports of parking activities for record-keeping and analysis
  • User Activity Tracking: Complete logs of system usage and administrative actions
  • Modern UI: Clean, responsive design with intuitive navigation
  • Data Persistence: Reliable storage of all parking data using SQLite database
  • Error Handling: Robust validation and error recovery mechanisms

System Requirements

  • Operating System: Windows 10/11
  • Framework: Qt 6.x or later
  • Compiler: C++17 compatible compiler (MinGW 64-bit recommended)
  • Database: SQLite support (included with Qt)
  • Storage: At least 100MB of free disk space
  • Memory: Minimum 2GB RAM

Installation

Pre-built Executable (Recommended)

  1. Download the latest release from the release folder
  2. Extract the ZIP file to a location of your choice
  3. Run ParkWise.exe to start the application

One-Click Launch (Simplest Method)

  1. Double-click on LaunchParkWise.cmd to build and run the application
  2. The script will:
    • Check if the application is already built
    • Build it if needed (showing build output)
    • Launch the application directly
  3. For a desktop shortcut, create a shortcut to LaunchParkWise.cmd

System Installation (Administrative Privileges Required)

  1. Right-click on scripts/install.cmd and select "Run as administrator"
  2. The installer will:
    • Copy the application to Program Files
    • Create a desktop shortcut
    • Set up necessary folders
  3. Launch ParkWise from the desktop shortcut

Uninstallation

  1. Right-click on scripts/uninstall.cmd and select "Run as administrator"
  2. Confirm the uninstallation when prompted
  3. The uninstaller will:
    • Remove all application files from Program Files
    • Delete the desktop shortcut
    • Remove application settings from the registry

Building from Source

Using Qt Creator

  1. Install Qt 6.x with MinGW 64-bit compiler
  2. Open ParkWise.pro in Qt Creator
  3. Configure the project with your Qt kit
  4. Click Build > Build Project
  5. Click Run to start the application

Using Command Line (Windows)

Run the included build script to compile and run the application:

scripts/runme.cmd

Usage Guide

First-time Setup

  1. Launch the application
  2. On first run, a default admin account is created:
    • Username: admin
    • Password: admin
  3. Use these credentials to log in
  4. It's recommended to create a new account through the sign-up option

Main Navigation

The application features four main sections accessible via the navigation sidebar:

  1. Dashboard: Overview of parking statistics and recent activities
  2. Park-In: Register new vehicles entering the facility
  3. Check-Out: Process vehicles exiting the facility
  4. Overview: Visualize parking spots and their current status

Managing Vehicles

To Park a Vehicle:

  1. Navigate to the Park-In section
  2. Enter the vehicle's license plate number
  3. Select manual or automatic spot allocation
  4. Confirm to register the vehicle

To Check Out a Vehicle:

  1. Navigate to the Check-Out section
  2. Enter the license plate number in the search field
  3. Verify the vehicle details
  4. Confirm to complete the check-out process

Data Management

All parking data is automatically saved to CSV files in the following locations:

  • release/logs/cars_parked.csv: Record of all parked vehicles
  • release/logs/cars_parking.csv: Vehicles currently in the facility
  • release/logs/cars_checked_out.csv: Record of vehicles that have left

To clear all data and start fresh, run the included cleanup script:

scripts/cleanup.cmd
  • This will remove all log files from build/debug/database/logs/
  • Clears user credentials and other temporary data

Project Structure

ParkWise/ ├── src/ # Source code │ ├── core/ # Core application logic │ ├── database/ # Database interactions │ ├── resources/ # Application resources │ └── ui/ # User interface components ├── data/ # Data files ├── database/ # Database files ├── scripts/ # Utility scripts └── docs/ # Documentation

Troubleshooting

Common Issues

  1. Login Failures

    • Default admin credentials: username admin, password admin
    • After three failed attempts, the application will close
    • Password reset option is available on the login screen
  2. Database Errors

    • Ensure the application has write permissions to its directory
    • If database corruption occurs, run scripts/cleanup.cmd to reset
  3. Building Issues

    • Verify Qt 6.x is properly installed
    • Check that MinGW 64-bit is in your system PATH
    • Ensure all dependencies are properly installed

Data Reset

If you need to reset all application data:

  1. Close the application
  2. Run scripts/cleanup.cmd
    • This will remove all log files from build/debug/database/logs/
    • Clears user credentials and other temporary data
  3. Restart the application

License

This project is proprietary software developed for academic purposes.

Distribution

To create a distributable package:

  1. Build the application using scripts/runme.cmd or Qt Creator
  2. Run scripts/package.cmd to create a ZIP file containing all necessary files
  3. The resulting ZIP file can be distributed to end users
  4. Users can either:
    • Extract and run LaunchParkWise.vbs directly
    • Run scripts/install.cmd as administrator to install system-wide

About

ParkWise is a comprehensive Qt-based parking management system designed for multi-level parking facilities. It provides automated spot allocation, vehicle check-in and check-out tracking, license plate search, and real-time occupancy visualization to optimize parking operations and traffic flow.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages