Registration System
This system was developed for the computer science students union at the Humboldt-Universität zu Berlin to organise our annual freshers weekend trips. Since the attendance grew over the years we needed a powerful system that can handle all the registrations, messaging and a powerful admin panel to plan costs, take notes, manage waiting list and registration and much more.
Props go to
- Manuel Herrmann (mostly frontend, graphics, games)
- Tim Repke (mostly backend and admin stuff)
Features
- multiple methods for the signup process
- cost planning (for collecting and redistributing leftover money)
- ...
Basic usage
Create a new trip
TODO
Link to send to the freshers
TODO
Status of a signup
TODO
Play-only mode
coming soon! (because the stuff is too good to just open it for one signup)
Add new admin
Send out the link to passwd/index.html
to the new user. They'll send their encrypted password back. Add that
(in the appropriate structure) to the passwd/users.txt
file.
Project structure/Dev Hints
There are two files that sort of handle the configuration because we couldn't be bothered to create another database table:
-
./passwd/users.txt
add users to this file.S
stands for super admin (can create new trips),N
users can only manage the current trip -
./config_current_fahrt_id
(a file that only contains the id of the current trip
Folder structure:
- The
admin
folder contains everything for the admin backend. -
view
contains all frontend stuff -
view/signups
contains all possible signup methods (games, add them toconfig.inc.php
) -
view/js
should contain all commonly used js things - ...
Debugging
Game1 specific
For debugging you can point your browser to the test.html
and use some of the following parameters:
-
map
- number of the map -
showEventLayers
- settrue
if you want to see the event layers -
verbosePF
- settrue
to dump the path finding raster to the console -
fastTalk
- settrue
to make dialogues ultra fast
For example:
http://localhost/fsfahrt/view/signups/game1/test.html?showEventLayers=true&map=2&verbosePF=true
How to deploy
Server requirements
- PHP 5.5.x (tested with 5.5.3)
- MySQL (other databases might work, check the medoo framework)
Database setup
Check out the folger other/sqlDumps
. There is an SQL file that creates the database. We also tried to make sure
to provide migrations in case updates are needed.
Configuration
Make adjustments in config.inc.php
- Database parameters (
$config_db
) - Set base URL (
$config_baseurl
)
File permissions
Adjust CHMOD for
- config_current_fahrt_id (rw-rw-rw-)
- passwd/users.txt (rw-rw-rw-)
Further notes
You could add the the config file in your local gitignore file to prevent overrides on updates. In case you do that, remember to check for necessary updates.