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.
- 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.
- 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.
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 runpython icepos.py
.
- Download the ZIP file of the software (ICEPOS.zip)
- Extract the files.
- Find the EXE file (icepos.exe)
- Run.
- Data Submission (Submission Tab)
- Data Retrieval (Answers Tab)
- Printing of Data
- Custom Identifier Key (Consign Key)
- Tracking of Shipments
- 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.