Server component of a suite for students to create multiple-choice questions to test their knowledge of the stuff they've learnt.
A PHP-based CRUD API. You can:
- add / modify / delete / undelete / reset
modules
- a collection of multiple-choice questions - add / modify / delete / undelete / reset
mcqs
- the multiple-choice questions - add / modify / delete
sessions
- test your knowledge against an individual collection ofmcqs
- invite / modify / manage / delete
users
- supports a simple hierarchy consisting of admins and users
- add / modify / delete
exams
- arbitrary collection of notes - add / modify / delete
protocolls
- arbitrary flatfile / markdown-based notes forexams
to share impressions, tips and help
reset means that old revisions of those items are kept by the server so one can go back and restore an arbitrary version
You'll need:
PHP7
Composer
MySQL
# create a directory for the project
mkdir olm_api
# get the source code
git clone https://github.com/randomchars42/olm_api
cd olm_api
# install dependencies
composer install
If you are using Apache2 you'll need to enable mod_rewrite
and AllowOveride All
in your sites-available/###-YOURSITE.conf
config. Point the root of your server-configuration to the web/
directory of the project.
- create a new database
- tweak
src/config/cfg.php
to suit your setup ;) - direct your browser to
/api/setup
You should be all set up now. If you run into errors, go ahead and fix them (or report them to me ;) ). Same applies to this documentation which will - with your help - improve over time.
olm_api uses semantic versioning (http://semver.org/).
TL;DR
:
MAJOR.MINOR.PATCH
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.
To mark pre-releases you may add:
-rc.[0-9]*
for release-candidates-beta.[0-9]*
for beta-releases-alpha.[0-9]*
for alpha-releases
php phpdoc/phpdocumentor.phar -c phpdoc/phpdoc.xml
Simply push your changes to https://github.com/team-olmen/olm_api.
Changes to branch develop
will be deployed to test environment on http://api-test.olmen.de.
Changes to branch master
will be deployed to production environment on http://api.olmen.de.