h5gs / NativePOSEngine

WallacePOS uses the power of the modern web to provide an easy to use & extensible POS system.
GNU Lesser General Public License v3.0
9 stars 7 forks source link

NativePOSEngine

We have rebraned wallacepos to fresh repo/name and will develop further for advance usecases.

This is fork of amazing project wallacepos which is not maintained now.

We have decied to take this to next level and planed to make it best mobile pos app for everyone.

We have developed below features.

Show customer total balance while selecting customer on invoice page.

Multiple File/Bills upload options in invoices/sales popup.

Settings to write own custom css/js code from settings page.

Few bug fixes in generate invoice page, it seems non-working after csrf added

Have plans to add more features Custom Status field and option to change it

Trigger Sms etc

Simple Portal for Customer to Place Oder online and order gets synced to dashboard

Android/iOS apps etc

Much more

We are planning to enhance and work on this with dedicated resources,

This repo is not updated with setup instructions etc , we are going to do it soon.

logo

New features added

Show customer total balance while selecting customer on invoice page. Multiple File/Bills upload options in invoices/sales popup. Settings to write own custom css/js code from settings page. Few bug fixes in generate invoice page, it seems non-working after csrf added

WallacePOS uses the power of the modern web to provide an easy to use & extensible POS system.

It supports standard POS hardware including receipt printers, cashdraws and barcode scanners.

With a rich administration dashboard and reporting features, WallacePOS brings benefits to managers and staff alike.

Take your business into the cloud with WallacePOS!

To find out more about WallacePOS, head over to wallacepos.com

If you find that WallacePOS is the perfect companion for your business, please donate to support further development.

Donate to WallacePOS

Server Prerequisites

WallacePOS requires:

  1. A Lamp server with PHP version>=5.4, PHP cURL & GD extensions and Apache version>=2.4.7 with modules rewrite, proxy_http and proxy_wstunnel.

    • You can enable the modules by typing the following in your terminal
        sudo a2enmod proxy_http proxy_wstunnel rewrite
        sudo apt-get install php5-curl php5-gd
        sudo service apache2 restart
    • The following virtual host snippet in your apache config, replace %*% with your values and modify to your needs.
        <VirtualHost *:443>
             DocumentRoot %/your_install_dir%
             ServerName %your.server.fqdn%
    
             ErrorLog ${APACHE_LOG_DIR}/error.log
             CustomLog ${APACHE_LOG_DIR}/access.log combined
    
             SSLEngine on
                 SSLCipherSuite !ADH:!DSS:!RC4:HIGH:+3DES:+RC4
                 SSLProtocol all -SSLv2 -SSLv3
                 SSLCertificateFile %certificate_location%
                 SSLCertificateKeyFile %key_location%
                 SSLCertificateChainFile %cert_chain_location%
    
             <Directory %/your_install_dir%>
                AllowOverride all
             </Directory>
    
             # WSPROXY CONF
             ProxyRequests Off
             ProxyPreserveHost On
             <Proxy *>
                     Order deny,allow
                     Allow from all
             </Proxy>
             RewriteEngine On
             RewriteCond %{HTTP:Connection} Upgrade [NC]
             RewriteRule /(.*) ws://localhost:8080/$1 [P,L]
             ProxyPass        /socket.io http://localhost:8080/socket.io/
             ProxyPassReverse /socket.io http://localhost:8080/socket.io/
             <Location /socket.io>
                     Order allow,deny
                     Allow from all
             </Location>
        </VirtualHost>

    Note: Using plain http is not recommended.

  2. Node.js installed along with the socket.io library

    For a Debian distro:

        sudo apt-get update
        sudo apt-get install nodejs && apt-get install npm
        cd %/your_install_dir%/api
        sudo npm install socket.io

Installation & Startup

  1. Clone the latest WallacePOS release to %your_install_dir% if you haven't done so already. The installation dir must be your Apache document root directory!

  2. Run composer install in your install directory to update PHP dependencies (you may need to install composer first).

  3. Visit /installer in your browser & follow the installation wizard.

  4. Login to the admin dashboard at /admin, from the menu go to Settings -> Utilities and make sure the feed server has been started successfully.

Deploying using dokku

To deploy WallacePOS on dokku:

  1. Install the dokku-apt plugin on your dokku host.

  2. Fork the WallacePOS to a PRIVATE repo (IMPORTANT), edit /library/wpos/.dbconfig.json and fill in your own values.

    OR

    Use my dokku mysql plugin to create and link the database automagically.

  3. Commit deploy in the usual manner.

  4. Setup persistent storage by running:

    dokku storage:mount %APP_NAME% /var/lib/dokku/data/storage/%APP_NAME%:/app/docs

    WARINING: Failure to do so will lead to data loss during subsequent upgrades.

  5. Access /installer/?install from the web browser to install the database schema & templates

  6. Login to the admin dashboard at /admin using credentials admin:admin & change the default passwords in Settings -> Staff & Admins!