A Point of Sale (POS) system run in a browser. It handles a barcodescanner to sell stuffs.
The project is in active use but should be considerd a beta.
- Sell things with a barcode scanner
- Type the name of a product to not need the scanner
- Track deliveries
- Track stock
- Contains a (very) limited book keeping system
There is a demo of the system running here http://retail.eric.druid.se/Retail. As it's running on a raspberrypi, please go easy on it if it feels sluggish. username: admin password: admin
- php >= 5.3
- php-gd (for bar code generation and statistics display)
- php-curl (used by login service which might want to be replaced)
- php-mysql
- MySQL
- gnu-barcode (deb package barcode)
The project requires a webserver, it has been developed and tested with apache webserver but try a different one and it might work.
This project has only been tested to work with firefox and chromium but other browsers should not be a problem.
-
Place the content of the project in a folder
-
Create an empty mysql database for the project. If the database name is not
nitroxy_retail
grant.sql
needs to be updated accordingly. -
Create a db user. If the name of the user is not
nitroxy_retail
,grant.sql
needs to be updated accordingly. -
Copy
db_settings/nitroxy_retail.php
todb_settings/nitroxy_retail.local.php
and edit the settings to your configuration. -
Start the mysql prompt and run the following
mysql -u root -p nitroxy_retail --default-character-set=utf8
source nitroxy_retail.sql
source data.sql
source grant.sql
-
Compile genbarcode for your architecture (can be ignored if you don't want barcodes for your products)
make -C lib/src/genbarcode-0.4
mkdir lib/bin
mv lib/src/genbarcode-0.4/genbarcode lib/bin
-
Set up apache2
- create a new site in
/etc/apache2/sites_available/100-nitroxy-retail-system.conf
(debianistic systems) This is what I have in my test config, update as needed with ssl cert etc.NameVirtualHost *:80 <VirtualHost *:80> ServerName retail.eric.druid.se ServerAlias retail DocumentRoot /path/to/root/Nitroxy-retail-system/public <Directory /path/to/root/Nitroxy-retail-system/public> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Require all granted # apache2 version >= 2.4 </Directory> ErrorLog ${APACHE_LOG_DIR}/nitroxy_retail_error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/nitroxy_retail_access.log combined </VirtualHost>
- create a new site in
-
Enable the site with
sudo a2ensite 100-nitroxy-retail-system.conf
-
Enable apache2 module rewrite
sudo a2enmod rewrite
-
If php version < 5.4, make sure
/etc/php5/apache2/php.ini
hasshort_open_tag = On
. Have a look at other settings as desired. -
Restart apache
sudo service apache2 restart
-
Unless you are from the society Proxxi you want to do something about what is done in
classes/User.php
in theexternal_login
function so as to not authenticate against Proxxis system...
- Log in to the system
- Navigate to Lager > Kategorier
- Use the form to add categories to the system (Candy, Soda, etc)
- Next go to Lager > Ny leverans and create a delivery (Se seperate delivery instructions)