Skip to content

RyanBaig/ICEPOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Release Checks License Issues Languages

ICE POS

ICE POS (Point of Sale) is a Python application created for my father's business. It offers a user-friendly interface for data submission, retrieval, and printing, along with a custom identifier key for shipment identification.

Disclaimer

  • This code only works on Windows.
  • It is designed to only work on a monitor with a specific Screen Resolution. Please remember to change it to your needs.

Installation Instructions

For Non-Production Use:

  • Clone this repo using the following:
git clone https://github.com/RyanBaig/ICEPOS
  • Navigate to the project directory using:
cd ICEPOS
  • Type run.bat or ./run.bat if you use Windows Powershell.
  • It will automatically install all dependencies (if needed) for the app to work.
  • If you want to use it frequently then create a shortcut (ICEPOS.ink) for the run.bat file.

For Production Use:

This Method doesnt't work now, as the software is unable to be converted into a distributable executable. If you need to use this software, download the source code and first run: ".venv/Scripts/activate" (or .venv/Scripts/activate on Command Prompt ) then run python icepos.py.

  • Download the ZIP file of the software (ICEPOS.zip)
  • Extract the files.
  • Find the EXE file (icepos.exe)
  • Run.

Features

  • Data Submission (Submission Tab)
  • Data Retrieval (Answers Tab)
  • Printing of Data
  • Custom Identifier Key (Consign Key)
  • Tracking of Shipments

Modules Used

  • Tkinter: Used for creating the graphical user interface, including filedialog.
  • SQlite3: Used for working with the SQLite database.
  • Pillow (PIL): Used for image creation, including Image, ImageDraw, and ImageFont.
  • Pickle: Used for serializing and deserializing data, but in this application, it is used to store consignment keys.
  • Math: used for Math-related operations including Pi values, Sin, and Con operations.
  • Time: used to add delays.
  • DateTime: used for retrieving date.
  • Requests: used for checking for any updates for ICEPOS.
  • Subprocess: used in the Updating process by cloning the repository using Git.
  • Shutil: Used to delete pre-existing installations of ICEPOS to make room for the New Update.
  • Stat: used for manipulating folder permissions.
  • Screeninfo: Used for obtaining screen information.
  • OS: Used for various operating system-related functionalities including printing.
  • ttkbootstrap: Used for adding the DateEntry.
  • CustomTkinter: Used for styling the application.
  • CTkMessagebox: Extension Pack for custom Messageboxes for CustomTkinter.

Screenshots

Submission Tab (Sidebar Closed)

  • Submission Tab (Sidebar Closed)

Submission Tab (Sidebar Open)

  • Submission Tab (Sidebar Open)

Answers Tab (No Answer Selected)

  • Answers Tab (No Answer Selected)

Answers Tab (Sample Answer Selected)

  • Answers Tab (Sample Answer Selected)

Tracking Tab (No Tracking Number Added)

  • Tracking Tab (No Tracking Number Added)

Tracking Tab (Sample UPS Tracking Number Added)

  • Tracking Tab (Sample UPS Tracking Number Selected)