This repository is the source code for the Ruales POS app, a pos system made for use in a tindahan.
Preview:
- Download one of the installers
- If this is not the first time installing skip 3, 4, 6, and 8
- Download postgres
- Download the driver for the mini receipt printer
- Run the installer for the pos app, and take note of the path of the installation
- Create a postgres database and table, and make sure to name the table
Itemand the let the columns beid (bigint not null), name (name), price (double precision not null) - Go to the path of the installed pos app, find the
.envfile, edit the database connection string with your databse name i.e.jdbc:postgresql://localhost:5434/sample_database_nameand fill in the user and password for the database. You can usually find this info in pg admin
- Extract the downloaded driver zip file, there will be two archived files, double click on the one that has
POS58, run the installer - The app should be ready to go, create a desktop shortcut for convenience
- Delete the pos app folder, it will most likely be found in
C:\Program Files (x86)\Ruales POS
- Only do steps 1, 5, and 7 in the
Installationsection 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.
- Download the latest released installer and run.
- Download and install git
- 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
- Use intellij ide, open the project and click on the
Runicon on the top right and make sure to select thedesktopone for running - You can also run the app by typing in
./gradlew run
- Type in
./gradlew shadowJar - Go to
./build/libs. The jar will be located here
- Convert jar to exe using launch4j
- Put
images,.env, andthe_app.exethat was generated in step 1 into one zip - Fill in the script called nsis_scripts/nsis_installer_script_template.nsi with the paths that are suited for you.
- Open nsis to make an installer
- 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. - 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.
- 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
