pacoorozco / gamify-laravel

Gamification platform (badges and levels) based on Laravel
GNU General Public License v3.0
32 stars 4 forks source link
gamification-platform gamify hacktoberfest laravel serious-game

gamify - A gamification platform to implement any serious game mechanic

Testing with MySQL codecov License Laravel Version GitHub release

Presentation

Game of Work, aka GoW!, was a gamification platform created by Emilio Ampudia (eampudia at gmail.com) and Paco Orozco (paco at pacoorozco.info).

We wanted to teach, learn and share some fun with our colleagues, so we created a game based on questions about our organization (process, services, teams...). This was the birth of gamify, a platform implementing a levels & badge game at UPCnet.

As much as possible, I've tried to keep a clean code to work everywhere out of the box. You are not obliged to use my tools and you are free to change the code in order to use it at your own feeling.

Disclaimer - It's ready for production, but no doc

It's fully working and you can play with it, but it lacks of some documentation. I'm working in order to improve it, in my personal free time, so be patient or contact me in order to give me your help.

Changelog

See CHANGELOG file in order to know what changes are implemented in every version.

How to run gamify

Laravel Sail is a light-weight command-line interface for interacting with Laravel's default Docker development environment. This will create several containers to implement the application needs. An application server and a database server.

Prior to this installation, you need to have installed this software:

  1. Clone the repository locally

    git clone https://github.com/pacoorozco/gamify-laravel.git gamify
    cd gamify
  2. Copy .env.example to .env.

    NOTE: You don't need to touch anything from this file. It works with default settings.

  3. Install PHP dependencies with:

    NOTE: You don't need to install neither PHP nor Composer, we are going to use a Composer image instead.

    docker run --rm \                  
    -u "$(id -u):$(id -g)" \
    -v $(pwd):/var/www/html \
    -w /var/www/html \
    laravelsail/php80-composer:latest \
    composer install --ignore-platform-reqs
  4. Start all containers with the sail command.

    ./vendor/bin/sail up -d
  5. Seed database in order to play with some data

    php artisan key:generate 
    php artisan migrate --seed

    If you are using Sail, you should execute those commands using Sail:

    # Running Artisan commands within Laravel Sail...
    sail artisan key:generate 
    sail artisan migrate --seed
  6. Point your browser to http://localhost. Enjoy!

    NOTE: Default credentials are admin@domain.local/admin or player@domain.local/player

Reporting issues

If you have issues with gamify, you can report them with the GitHub issues module.

Contributing

Please see CONTRIBUTE for details.

License

gamify is released as free software under GNU GPL v3.0 or later

Authors

gamify was originally developed by Emilio Ampudia and Paco Orozco as part of a game in UPCnet. Later, the original version was migrated to Laravel.

See contributor list for a complete list of contributors.