Skip to content

gandor999/sanjose_barcode_scanner_4

Repository files navigation

Intro

This repository is the source code for the Ruales POS app, a pos system made for use in a tindahan.

Preview:

img_1.png

Installation

Windows

  1. Download one of the installers
  2. If this is not the first time installing skip 3, 4, 6, and 8
  3. Download postgres
  4. Download the driver for the mini receipt printer
  5. Run the installer for the pos app, and take note of the path of the installation
  6. Create a postgres database and table, and make sure to name the table Item and the let the columns be id (bigint not null), name (name), price (double precision not null)
  7. Go to the path of the installed pos app, find the .env file, edit the database connection string with your databse name i.e. jdbc:postgresql://localhost:5434/sample_database_name and fill in the user and password for the database. You can usually find this info in pg admin img.png
  8. Extract the downloaded driver zip file, there will be two archived files, double click on the one that has POS58, run the installer
  9. The app should be ready to go, create a desktop shortcut for convenience

Uninstalling

  1. Delete the pos app folder, it will most likely be found in C:\Program Files (x86)\Ruales POS

Updating

Manual Way

  1. Only do steps 1, 5, and 7 in the Installation section of this document for updating your version of the app, this is important since you will want to keep your data in the database as is.

Via Installer

  1. Download the latest released installer and run.

Development

Cloning the repository

  1. Download and install git
  2. Run the git cli and type in git clone https://github.com/gandor999/sanjose_barcode_scanner_4.git

If the cloning fails I may have to add you as a contributor to the project, reach out through my email geodorruales@gmail.com or gandor999@gmail.com

Running the app

  1. Use intellij ide, open the project and click on the Run icon on the top right and make sure to select the desktop one for running
  2. You can also run the app by typing in ./gradlew run

Building the app

  1. Type in ./gradlew shadowJar
  2. Go to ./build/libs. The jar will be located here

Distributing

  1. Convert jar to exe using launch4j
  2. Put images, .env, and the_app.exe that was generated in step 1 into one zip
  3. Fill in the script called nsis_scripts/nsis_installer_script_template.nsi with the paths that are suited for you.
  4. Open nsis to make an installer
  5. Click on either "Compile NSI Scripts" or open "makensisw" from NSIS's installed directory on your device and then load the edited nsis_scripts/nsis_installer_script_template.nsi script.
  6. Attach the generated installer as a new release in the github repository, if you are not the owner please create a pull request from a different branch.

Things to do:

  • Make the design for the interface first
  • Let interface design just be one square for items and one square for total, clear, and print reciept
  • Make area for items
  • Make the item to count into map instead
  • Lift up itemsToCount state
  • Make area for totals
  • Simulate on barcode scan
  • Have a prototype scan for the scanner to scan the barcode and update the ui
  • Make database for Item class
  • Make .env file to store database metadata
  • let the database be postgres
  • add id to Item class
  • Add a column for these items in scan
  • Make a button to go to another page to set the database items
  • Implement sensilyo dialog to calculate change
  • Implement delete, update
  • Fix ilis bug
  • Change sensilyo with sukli
  • Implement a new navigation bar on the left side
  • Refactor the whole passing of states thing to just one object, its such a hassle to keep on maintaining more than one parameter for each function
  • Improve exception handling
  • Implement get
  • Implement recibo button
  • Implement utang page
  • Implement inventory page
  • Implement halin page
  • Implement ug barcode generator page
  • Refactor page navigation
  • make keyboard shortcuts to make things alot faster
  • Pag himo ug installation ani na app
  • Make Item model
  • Make a totals row
  • Make an items row
  • Make a clear all row
  • Let Item model be something that can be removed
  • Integrate actual connection of barcode scanner and map info to Item class
  • Make a print receipt button
  • Continue with refactoring of suspend functions for coroutines
  • Make barcode gen more pretty
  • Test out on printer
  • Test printer on print button
  • Move resibo to skukli button
  • finish implementing working resibo for tinda and barcode gen page
  • Put a check wherein resibo can only be clicked once total is greater than 0 and sukli has been calculated
  • Refactor printing logics, it has become too complex, write unit tests for this now, its time
  • Refactor strings constants into one file, its getting pretty big
  • Add input database for easier config on first install
  • Add add item in Tinda using just the barcode
  • Able to copy paste barcode
  • Able to generate an existing barcode
  • Change Himo in generating to Himo ug Dugang diretso para way sipyat x2 na sa pag print
  • Refactor theme colors handling
  • Refactor state handling to follow a more unidirectional flow pattern
  • Add backstack when necessary
  • Put price to next row of item name in barcode gen to avoid long names hiding the price
  • Add utang profile crud
  • Make new panel for profile crud
  • Use real database connection isntead of mock nangutang
  • Write a how to use section in the readme
  • Just learned that val and var are already getters and setters, refactor
  • Design a more general navigation system that can be resued over and over
  • Implement backstack system for utangan page

About

A point of sale system to be used with a barcode scanner

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors