Skip to content

dsd-meetme/backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 11, 2016
326a678 · Jan 11, 2016
Jan 11, 2016
Nov 16, 2015
Jan 7, 2016
Jan 10, 2016
Nov 21, 2015
Jan 7, 2016
Nov 16, 2015
Jan 7, 2016
Nov 17, 2015
Oct 26, 2015
Nov 23, 2015
Dec 14, 2015
Oct 26, 2015
Dec 30, 2015
Dec 30, 2015
Oct 26, 2015
Oct 26, 2015
Dec 2, 2015
Nov 14, 2015
Dec 3, 2015
Oct 26, 2015
Jan 10, 2016
Jan 9, 2016
Dec 14, 2015
Jan 9, 2016
Oct 26, 2015
Nov 16, 2015
Nov 22, 2015
Nov 23, 2015
Jan 7, 2016
Nov 20, 2015
Oct 26, 2015
Dec 13, 2015

Repository files navigation

Meetme backend

Build status: Build Status Scrutinizer Code Quality Code Coverage Build Status Latest Stable Version Total Downloads Latest Unstable Version License

This application uses laravel 5.1.* (a php framework)

Api example web server: http://api.plunner.com. It is just an example, so we don't guarantee that everything works

N.B. You need also the frontend application

How to install

  1. Clone repository
  2. Install dependencies with composer composer install (http://getcomposer.org)

or simply

composer create-project dsd-meetme/backend (this gets the last stable version)

How to configure

  1. Create database
  2. Configure database data in .env file
  3. Configure private keys in .env file
    1. JWT_SECRET via php artisan jwt:generate
    2. APP_KEY via php artisan key:generate
  4. perform php artisan migrate
  5. configure urls in config/app.php (this only for real environment)
  6. this must be installed on the root of the virtual host
  7. configure crontab * * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1 to optimise and caldav import
  8. install GLPSOL https://en.wikibooks.org/wiki/GLPK/Linux_packages (needed for optimisation task -> finding perfect meeting slot)
  9. configure additional things like emails, optimisation and so in the config files

How to develop

Use phpstorm is one of the best solution, since it has laravel plugin.

After cloning and installing repository:

  1. Run php artisan ide-helper:generate and php artisan ide-helper:meta, so you create meta files for autocomplete in the IDE.
  2. Run php artisan ide-helper:models each time models are updated (not in other case) and only if models are updated.
  3. Install laravel plugin

How to test with phpstorm

  • Use phunit 4.* not 5
  • execute as test phpunit.xml

Notes

  • You should insert your name as author in composer file
  • We use UTC time
  • In real environment you should use apache2
  • To not to perform tests of console tasks, since they can be have problems on windows and they need specif software, set the following env variable DO_CONSOLE_TESTS=false
  • exec calls must be enabled in php-cli
  • tmp dir permissions needed
  • The library is tested only on linux, we don't know the behaviour of critical parts (optimisation and caldav sync) on other systems
  • Details about optimisation task https://docs.google.com/document/d/18vCFEVrd8ENgS80hC-ACjSicDFYXV2QjoFiO3FiGZ5w/edit
  • after 30 days you have to re-login, this for security reasons to avoid that a malicious guy can use the token to get new tokens and he stays always connected even if you change password

Credits