Development

OSPOS is open source, so anyone 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 CodeIgniter by reading through the documentation, or if you want a quick, general overview, you can read CodeIgniter: Learn By Coding by Scott Hughes. This book walks you through creating a basic sample app in CodeIgniter. After reading it, you'll have a good understanding of the framework, which will help you understand OSPOS's codebase much better..

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. Finally, he has a book called MySQL: Learn By Coding. In it, he covers everything you need to know to start using databases.

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.  Please read our installation guide. If you sign up with our link, you'll get a $50 credit.

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.