Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Mentor matching application
PHP Puppet CSS Shell VimL JavaScript Ruby
Branch: master

Merge pull request #100 from Crevax/master

Add Vagrant notice about version 1.3.5
latest commit 3e0a8a7011
@mfrost503 mfrost503 authored


Mentor matching application to assist with the task of matching mentors with mentees based on the skills they list as interests. This is a backbone.js app using a MySQL database.


Start vagrant

The system is bundled with a Vagrant set up, so you can get up and running quickly and in a common environment.

** Does not work on 1.3.5; there is an error with ssh_connect after building the box. **

To get the Vagrant system running, go to vagrant-mentor-app and run the following:

$ vagrant up

This will start the vagrant instance for you.

Configure the url to the webserver possibly in your /etc/hosts file

To access the web server on either you will need to open your browser and go to:

http://localhost:8080/ OR

To access you will need to add the following to your hosts file:

Other Vagrant commands

If you need to access your Vagrant machine at any time you can go in to the relevant directory and run:

$ vagrant ssh

Your files are located at /var/www and run composer install to set up the mentor-app project.

When you are finished for the day, go to the vagrant-mentor-app directory and run:

$ vagrant halt

When you are finished forever, you can completely destroy the machine by running:

$ vagrant destroy

Database Migration

In order to keep control of the database we use a system called Phinx. Full documentation can be found at:

To create a change from the /var/www directory run the following command:

$ bin/phinx create

To check the status (what's not been run yet, etc) run the following command:

$ bin/phinx status -e development

To apply outstanding migrations run the following:

$ bin/phinx migrate -e development

If you don't specify the "-e development" then it will default to development with a warning.

Seeding the Database

It is useful to have data in the database to interact with the site or the API. Seeding the data is accomplished using a phing task.

bin/phing seed-db

The task will prompt you for number of skills to add and number of users. You can choose any number but remember the higher the number the longer it takes.


The following directions assume the host machine is a Mac. For windows, I don't know what to do... To get started with Behat:

  • First, on the host machine (your Mac), download the Chrome Webdriver and place it in a convenient place. A good spot is to create a bin directory within your home directory and place it there (~/bin).
  • Again, on the host machine (your Mac), download the Selenium Stand-alone server and place it in the same bin directory where you placed the Webdriver. *(Optional) Create an alias to start the selenium server. For example: alias behat='java -jar ~/bin/selenium-server-standalone-2.35.0.jar -host
  • Before you can run the behat tests, you must start the selenium server on the host machine. From the terminal, simply type “behat” and the server should start running.
  • To run the tests, SSH into the VM, go to the root of the project (/var/www - same directory as the behat.yml file) and type bin/behat. If you are using vagrant, then the VM must be running and you must be within an SSH session (vagrant ssh).

If all goes well, you should see a Google Chrome window open up and the tests execute.


  • Set up script to build and seed test database.


SASS 3.2.10 is required. Presently, SASS and the compiled CSS output are to reside on the same directory.

Something went wrong with that request. Please try again.