On GitHub: https://github.com/onmyshelf/api
OnMyShelf's API server is developed in PHP from scratch.
Contributors are welcome to help us make OnMyShelf API server a more secured and (why not) make a complete refactoring.
To understand API, please read the API reference documentation.
How it works
Apiclass manages every web requests
bin/omsfile is used to run some admin operations from the command line
The Api class
Routes and controllers are defined in this class. Controllers calls main classes like
The oms command
The admin operations are made by command line. You have to go first into the project directory and do:
php bin/oms COMMAND
The main classes are stored in
inc/classes and defines the main components like:
The Database class
Database class manages every database operations.
You can create your own database modules to support any other DBMS.
The Storage class
Storage class manages every file operations, espectially the media library.
You can create your own storage modules to support any other file system or protocol.
The Import class
Import class manages every import requests, including query websites to autocomplete items.
You can create your own import modules to import data from API, websites, XML, CSV, etc.
As said above, you can extend or override the secondary classes by adding your own in