Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


educal is an application for schools to easily create and manage calendars that can be shared with parents.

##Developed with

  • Laravel 4.2
  • Cartalyst Sentry
  • jQuery for public view
  • AngularJs for admin view
  • Twitter Bootstrap
  • FullCalendar

###Development dependencies:

  • bower
  • grunt
  • sass
  • uglify

##How to install Make sure you have composer installed

Install composer

Begin by installing the required packages through Composer.

composer install

You also need to install bower, and need to run grunt in order to compile the necesarry css files. This can be done by navigating to the project root folder and running

npm install
npm install -g bower grunt-cli
bower install

Next change your database credentials. This is necessary to store data.

  • Go to folder app/config
  • Copy the file database.php to app/config/local
  • Update the new database.php file with your own database credentials
  • database credentials

Set up your mail server credentials. This is necessary to send password reset mails.

  • Go to folder app/config
  • Copy the file mail.php to app/config/local
  • Update the new mail.php file with your own mail credentials
  • database credentials

Finally run the migrations to create your database.

php artisan migrate

If your development environment is not on a '.dev' domain, you will have to change the following line of code in bootstrap/start.php:

$env = $app->detectEnvironment(array( 'local' => array('*.dev'), ));

And change '*.dev' to your computer name or simply '*'

Nginx example configuration

Example of nginx configuration for the site:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

Creating schools and users

A school needs to be created by filling out the register form. Both a school and first user will be created. This first user is an admin of the school and can add more users from the dashboard. If you want to add an account, without adding a school, the user needs to be added from an existing school's dashboard.


Login by clicking on login. Depending on the role of the currently logged in user you can perform certain actions

  • Admin: manage your school (users, calendars, information)
  • Editor: add/edit events on the calendars you're assigned to.
  • User (not logged in): view calendars

What is this?

Schools can have a lot of activities throughout the year such as commitee meetings, open days for the public, kid's parties, etc. This can be hard to keep track of for parents. Educal centralizes and creates an easy-to-use link to import the school's agenda.

This project has been programmed during the open Summer of code 2014 and worked further upon during open Summer of code 2015.


Authors: Bert Marcelis, Bruce Vansteenwinkel, Thomas Ghysels

Past Authors: Sander Meert, Bjorn Van Acker, Nick Denys

Special thanks to the City of Ghent, Digipolis, Jan Vansteelandt, Miet Claes, Pieter Colpaert and Xavier Bertels.