Skip to content

Releases: RyanBaig/ICEPOS

v1.5

17 Dec 18:52
Compare
Choose a tag to compare

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/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 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)

Full Changelog: v1.4...v1.5

v1.4

24 Sep 09:25
Compare
Choose a tag to compare

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/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:

  • 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)

Full Changelog: v1.3...v1.4

v1.3

09 Sep 18:11
Compare
Choose a tag to compare

ReleaseChecksLicenseIssuesLanguages

ICE POS

ICE POS (Point of Sale) is a Python application created by Me 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 specific Screen Resolution. Remember to modify it to your needs.

Installation Instructions

  • 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 are using 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.

Features

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

Modules Used

  • Tkinter: Used for creating the graphical user interface, including messagebox, ttk, and 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 to store consignment keys.
  • Math: used for Math-related operations including Pi values, Sin, Con operations.
  • Time: used to add delays.
  • Datetime: used for retreiving date.
  • Requests: used for checking for any updates for ICEPOS.
  • Subprocess: used in 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, finding absolute path of files, etc.
  • ttkbootstrap: Used for Styling the App and adding the DateEntry.

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)

V1.2

02 Sep 18:54
8b8eb1a
Compare
Choose a tag to compare

Release Checks License Issues Maintainability Languages Coverage

ICE POS

ICE POS (Point of Sale) is a Python application created by Me 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 specific Screen Resolution. Remember to modify it to your needs.

Installation Instructions:

  • 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 are using 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.

Features

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

Modules Used

  • Tkinter: Used for creating the graphical user interface, including messagebox, ttk, and 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 to store consignment keys.
  • Math: used for Math-related operations including Pi values, Sin, Con operations.
  • Time: used to add delays.
  • Datetime: used for retreiving date.
  • Requests: used for checking for any updates for ICEPOS.
  • Subprocess: used in 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, finding absolute path of files, etc.

Functions

icepos.py

  • create_formatted_image: Creates a formatted image for printing receipts.
  • display_selected_answer: Displays selected answers in the Answers Tab.
  • exit_win: Allows the user to exit the program using the ESC key.
  • print_formatted_image: Generates and prints a formatted image of the receipt.
  • print_image: Prints a previously created image.
  • refresh_dropdown: Refreshes the dropdown in the Answers Tab to check for new submissions.
  • refresh_dropdown_and_text: Displays answers in the text widget in the Answers Tab.
  • submit: Submits answers to the database.
  • toggle_fullscreen: Toggles fullscreen mode using F11 key or the button in the top-right corner.
  • update_dropdown_with_data: Adds support for the dropdown being used more than once.
  • close_menu: Closes the sidebar/menu and works with toggle_menu.
  • toggle_menu: Toggles the sidebar/menu and uses close_menu.
  • on_rm_error: Used for manipulating .git folder's properties while updating._
  • git_clone_with_progress: Clones the repository for updating and shows live progress using messagebox. Uses on_rm_error function.
  • check_update: Checks if any updation is needed.
  • execute_check_update: Starts the updating process. Uses git_clone_with_progress function.

py_functions.py

  • reset: Clears all submissions by deleting and creating a new SQLite database.
  • save_last_consign_key: Saves the consign key in keys.pkl.
  • generate_consign_key: Generates a special key for differentiating shipments.
  • load_last_consign_key: Loads the last-used consign key.
  • display_consign_key: Displays the last-used consign key using an information messagebox.
  • close_connection: Closes the database connection when the main window is closed.
  • create_db: Creates a new database for the reset function.
  • db_To_dict: Converts database submissions into a dictionary for easy display.
  • delete_db: Deletes the database for the reset function.

run.py

  • check_packages: Checks if any packages need to be installed (from requirements.txt) when the
    program is run. "

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)

Full Changelog: v1.1...v1.2

V1.1

14 Aug 06:24
c2faab8
Compare
Choose a tag to compare

ICE POS

ICE POS (Point of Sale) is a Python application created by Me 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.

Installation Instructions:

  • 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 are using 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 for the run.bat file.

Features

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

Modules Used

  • Tkinter: Used for creating the graphical user interface, including messagebox, ttk, and filedialog.
  • Sqlite3: Used for working with the SQLite database.
  • pywin32: Utilized for printing functionality using win32print and win32ui.
  • Pillow (PIL): Used for image creation, including Image, ImageDraw, and ImageFont.
  • Screeninfo: Used for obtaining screen information.
  • OS: Used for various operating system-related functionalities.

Functions

icepos.py

  • close_connection: Closes the database connection when the main window is closed.
  • create_formatted_image: Creates a formatted image for printing receipts.
  • display_selected_answer: Displays selected answers in the Answers Tab.
  • exit_win: Allows the user to exit the program using the ESC key.
  • print_formatted_image: Generates and prints a formatted image of the receipt.
  • print_image: Prints a previously created image.
  • refresh_dropdown: Refreshes the dropdown in the Answers Tab to check for new submissions.
  • refresh_dropdown_and_text: Displays answers in the text widget in the Answers Tab.
  • reset: Clears all submissions by deleting and creating a new SQLite database.
  • submit: Submits answers to the database.
  • toggle_fullscreen: Toggles fullscreen mode using F11 key or the button in the top-right corner.
  • update_dropdown_with_data: Adds support for the dropdown being used more than once.
  • close_menu: Closes the sidebar/menu and works with toggle_menu.
  • generate_consign_key: Generates a special key for differentiating shipments.
  • load_last_consign_key: Loads the last-used consign key.
  • display_consign_key: Displays the last-used consign key using an information messagebox.
  • toggle_menu: Toggles the sidebar/menu and uses close_menu.

database_functions.py

  • create_db: Creates a new database for the reset function.
  • db_To_dict: Converts database submissions into a dictionary for easy display.
  • delete_db: Deletes the database for the reset function.

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)

License

Full Changelog: v1.0...v1.1

V1.0

10 Aug 08:20
98c2e92
Compare
Choose a tag to compare

ICE POS V1.0

ICE POS (Point of Sale) Type thing I made for my Father's Business

Features:

  • Submission for Data (Submission Tab)
  • Retrieval of Data through another Tab in the Tkinter Window (Answers Tab)
  • Printing of the Data
  • Custom Identifier Key (Consign Key) for shipment identification

Modules Used:

Functions: (This will be a very long list)

icepos.py:

  • close_connection (To close the connection for the database when the main window is closed Too.)
  • create_formatted_image (To create the formatted image for printing.)
  • display_selected_answer (To display the answers in the text widget in Answers Tab)
  • exit_win (To exit the program using ESC key.)
  • print_formatted_image (To create and print the formatted image using both the print_image and
    create_formatted_image functions)
  • print_image (To print the previously create image)
  • refresh_dropdown (To refresh the dropdown in Answers Tab To check for new submissions)
  • refresh_dropdown_and_text (To display the answers in the text widget in Answers Tab)
  • reset (To reset/clear all submissions by deleting and creating a new sqlite database)
  • submit (To submit the answers)
  • toggle_fullscreen (to Toggle fullscreen through keybind (F11) or the butTon in Top-right corner)
  • update_dropdown_with_data (adds support for the dropdown being used more than once)
  • close_menu (close the sidebar/menu and works with toggle_menu)
  • generate_consign_key (to generate a special key to differentiate between different shipments)
  • load_last_consign_key (self-explanatory and works with generate_consign_key)
  • display_consign_key (displays the last-used consign key using the information messagebox. Made for the button in sidebar.)
  • toggle_menu (to toggle the sidebar/menu and uses close_menu)

database_functions.py:

  • create_db (To create the new database for the reset function)
  • db_To_dict (converts the submissions stored in the database inTo a dictionary To easily display the information)
  • delete_db (To delete the database for the reset function)

Screenshots:

Submission Tab (Sidebar Closed)

Submission Tab (Sidebar Open)

Answers Tab (No Answer Selected)

Answers Tab (Sample Answer Selected)

Full Changelog: https://github.com/RyanGamingYT/ICEPOS/commits/v1.0