This is the source code for the Joind.in website - a resource set up to allow events to get real-time feedback from those attending. It also gives speakers a way to claim and track their presentations over time.
- Create a vhost entry for the site. The docroot should be
- Create a MySQL database with username and password. Use a database name
- Initialise, patch, and populate the database.
$ # Use the correct username and password
$ src/scripts/patchdb.sh -t /path/to/joind.in -d joindin -u username -p password -i
- Create directories for user-added content.
$ mkdir src/system/cache/ctokens && chown apache:apache src/system/cache/ctokens
$ # Your owner and group might be different for different webservers/distros
- Create configuration files for database and config (based on the .dist templates), and edit these files as appropriate:
$ cp src/system/application/config/database.php.dist src/system/application/config/database.php
$ cp src/system/application/config/config.php.dist src/system/application/config/config.php
- Enjoy the site! The default password for all users is "password".
There's a few SQL files that are included with the source to help you get things up and running. The first four will bring your database to the most current, up-to-date status and ALL should be run for a new install:
- Export of the initial data structure, ready for import (as exported from MySQL)
- This file contains a few handy things for your database's initial setup like languages and session categories
- Numbered patch files to run in order after running init_db. All database changes to be managed using these, init_db does NOT get updated. For more information on this approach, see this article on a simple database patching strategy. Note: If patch 17 fails it can be skipped.
- Some seed data for the countries table (needed for timezone selection)
We also have excellent sample data generation, check out
for information about how to generate sample data to use with your installation.
This last SQL file will give you a jumping off point to see how the system works. It will populate your system with some seed data (talks, users, events) so you can see how they all relate:
- Some seed data you can load into your (MySQL) database to get the ball rolling.
Finally, there's some other scripts that come with the source to make things easier to setup:
- Release of CodeIgniter
- Sample cron jobs in
See the LICENSE file for license information for this software.
The following are the steps you'll need to correctly install the software:
Download/clone the current repository and drop it into a web-accessible directory for your server.
Set the document root to the /src directory.
In the /src/system/cache directory, create a web server-writeable directory called "ctokens".
- Make a
database.phpfile using the
database.php.distas a guide.
- Make a
config.phpfile using the
config.php.distas a guide.
- Make a
doc/db/init_db.sqlfile into your database.
Apply any of the other patches in the
If you'd like some seed data, you can use the
seed.sql to load in a few
events, users and talks. You'll also need to load in the
file to get the complete list of countries for the event details.
The default password for users is "password".
In order to run tests make sure you have the following extensions installed and configured. This library can be ignored if you are not planning on running tests.
$ pecl install pecl_http
in php.ini add:
By default the application is in production mode. This primarily means that error messages and notices are suppressed.
To allow errors and notices to be shown on the site you have to change the
JOINDIN_DEBUG to the value 'on'. It is discouraged to
do this on production environments as this will allow visitors to see any
errors produced by the site.
JOINDIN_DEBUG environment variable is controlled from the `accompanying
There are some tests set up, which use PHPUnit; these can be found in the src/tests directory. There is an ant task configured to run them - from the root directory simply run "ant phpunit" to run the tests.
Note: The API tests actually call the service externally and rely on
pecl_http extension being installed to run.
The issue tracker is where all bugs and feature requests should be filed.
It is advisable to enable the RewriteEngine:
sudo a2enmod rewrite
The .htaccess file in
/src takes care of all the rewrite rules.