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/RyanGamingYT/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 runpython 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 Open)
Answers Tab (No Answer Selected)
Answers Tab (Sample Answer Selected)
Tracking Tab (No Tracking Number Added)
Tracking Tab (Sample UPS Tracking Number Added)
Full Changelog: v1.4...v1.5