-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
OSPOS development index
OSPOS is an open source application as evolution of PHP Point Of Sale, when it used to be Open Source before becoming a commercial application. Since that time the two applications diverged OSPOS evolved in a robust application thanks to active contributors, that small shops can use.
We hope you already read the README before coming here, that should give you already a good hint of what this software is about using MySQL DBMS as data backend and Apache2 as WEBSERVER render frontend.
The installation will depend also of the kind of deployment, can be at the cloud, docker instance or locally server by own. Also can be using a unofficial software that perform similar to those officially supported.
Due OSPOS its a web based software, cons of two parts, a client rendering side and a server side. So there's two kinds of requirements, those at the client browsing usage and those at the server runtime.
The hardware where OSPOS will be consume an use it by employee, could be any that runs Firefox or any modern web browser, theres the officially tested supported web browsers requirements:
name | minimal version | observations |
---|---|---|
firefox | 34 (ESR) | Recommended and officially supported |
palemoon | 25 | Performs well as firefox does |
chromiun | 40 | not recomended |
chrome | 40 | not recomended |
safary | ? | not supported, seems work |
opera | ? | not supported, seems work |
midory | ? | not supported, does not performs well |
qupzilla/razen | ? | not supported, does not work |
The hardware where OSPOS will run and serve to client side, could be any that runs php, mysql and the webserver. Inclusively can run on Androit or RasberryPi hardware.
name | software/hardware | minimal version | recomended | observations |
---|---|---|---|---|
webserver | Apache2 | 2.2.12 | 2.4 | Only apache2 are officially supported |
database | MySQL or MariaDB | 5.5 | 5.6 / 10.0.1 | Only MySQL related DBMS are compatible such Percona Server also works |
websoftware | PHP | 5.6 | 7.0 | Need sockets, mycrypt/openssl, curl and mysql modules actived. |
Machine | PC/MAC/RasberryPi/Daruma | year of 2010 | year of 2012 | Recent hardware with enought RAM and fast storage |
Currently only Apache & MySql/MariaDB see this wiki https://github.com/opensourcepos/opensourcepos/wiki/Installing-on-Raspberry-PI---Orange-PI-(Headless-OSPOS)
Can run inclusive better, but currently there's some issues on this.
For lighttpd and MAriaDB:
For Nginx/ & MySql/MariaDB:
- https://github.com/opensourcepos/opensourcepos/wiki/Local-Deployment-using-LEMP
- https://github.com/opensourcepos/opensourcepos/wiki/Deployment-of-OSPOS-with-LEMP-on-Raspberry-Pi-3-Model-B
Some users reports that can install and run in others not supported or that fit enough quality to deploy:
- https://github.com/opensourcepos/opensourcepos/wiki/Installing-%22opensourcepos%22-in-windows-and-localhost
- https://github.com/opensourcepos/opensourcepos/wiki/Local-Deployment-using-MAMP-for-Windows
- https://github.com/opensourcepos/opensourcepos/wiki/OSPOS-using-Xampp-(recommended-for-testing-or-local-use-only).
This software is about using MySQL DBMS as data backend and (for now) Apache2 as WEBSERVER render frontend. So not so importat, your should be enought knowledge about enabling, activate and manage those software.
- 1 - Architecture workflow
- 2 - How to start to develop
- 3 - Database desing and layout
- Development Environment
OSPOS is a project code based on CodeIgniter, so a good starting point to understand the architecture of the software is to read a Codeigniter tutorial (https://www.codeigniter.com/user_guide/tutorial/).
Among Codeigniter
, also has usage of some other web software technologies such like JQuery
and Bootstrap
, the Development Environment wiki (click here) has some related info of how to start the different parts of the software needs.
The code makes use of the architecture pattern called Model-View-Controller
(MVC) complete managed by the Codeigniter
framework as explained.
Therefore it's important that you get accustomed to dir names like controllers
, models
, views
and what they are about.
On top of the MVC concept CodeIgniter
uses the URL to point to Class/Functions
and it uses a routing table to facilitate navigation through the views
and according to the URL
path.
In order to start to develop first must understand how to use a git workflow, then how to work a server-client web software (take care of the request and response concepts) and the read the specific Development Environment documentation (click here) for.
So then you will need:
- Install
git
,npm
,bower
,composer
,apache
,mysql
,php
and a web browser with good debugging tool. - Understand the web client-server concepts of
request
andresponse
- Understand the
Codeigniter
applications framework at https://www.codeigniter.com/user_guide - Clone the repository and ....
- ...read the Development Environment documentation to start the git repo cloned.
WIP
- Technicals
- Architecture
- Developer guide
- Enable error logging
- Specifications:
- Local Deployment using LEMP
- Local Deployment using MAMP for Windows
- Local Deployment using Xampp
- Deployment of OSPOS with LEMP on Raspberry Pi 3 Model B
- Installing on Raspberry PI Orange PI (Headless OSPOS)
- Local Deployment using Ubuntu 20.04.4 LTS
- OSPOS with Postfix and Gmail SMTP Server
- Local Deployment using Ubuntu 24.04 LTS or Linux Mint 21.3