Development

The Web App Path EbookOSPOS is open source, so anybody can add functionality to it or change it if they want to.  It's a web application, though, so you'll need to know some basic web development technologies, such as HTML, PHP, MySQL, JavaScript, and jQuery.

You'll also need to learn CodeIgniter and Bootstrap.  CI is the PHP framework that OSPOS was built on top of.  Bootstrap is a popular frontend framework that v3+ uses.

You can learn these technologies by reading through their documention, or you can read The Web App Path by Scott Hughes.  This book walks you through how to create a web application using HTML, PHP, CodeIgniter, MySQL, JavaScript, jQuery, Knockout, AJAX, and Bootstrap.  You don't need to learn Knockout for OSPOS, but it's worth knowing anyway.

If you don't know PHP, Scott also has a book called PHP: Learn By Coding. It introduces you to the PHP programming language, and shows you everything you need to start using PHP frameworks like CodeIgniter. He also has a book called JavaScript: Learn By Coding. In it, he introduces you to JavaScript, and takes you through everything you need to know, including jQuery and AJAX.

Make sure you have set up your server correctly before you start developing. Read the README.md, specifically the Server Requirements section.  We recommend DigitalOcean for your server.  Install Ubuntu Linux 14.04 on, preferably, a 1 GB droplet. (Note: the next version should work better with Ubuntu 16.04).  If you sign up with our link, you'll get a $10 credit.

If you want to pay someone to do the development for you, you have two choices: you can hire us or you can hire someone else.  If you want to hire us, feel free to contact us.  You can always hire someone else as well.  If you do, just point them at these resources. 

After you or someone else has made changes to OSPOS, consider creating a new pull request at the official OSPOS repository. That way your changes won't be overwritten if you update the software in the future. Plus, you're giving back to the OSPOS community.