Odyssey is a web app built on a three tier architecture. The app is a social media game that allows users to accumulate points and badges by creating and solving quests as they travel around the world.
The developers of Odyssey are a group of 8 students, dubbed Everyware, from the University of Canterbury's SENG302 class of 2019. We wanted to create an application that the university could use for events such as open days. This application was developed over the course of eight months of university work, so we hope you enjoy it!
- Cam Arnold
- Doug Barrett
- Vinnie Jamieson
- Matthew Kenny
- Hayden Morriss
- Matilda Porterfield
- Joel Ridden
- Isaac Worsley
See the User Manual for instructions to run the application.
Everyware's Odyssey requires the following dependencies to run. It has been tested to run on both Windows 10 and Linux Mint.
git clone https://github.com/dkbarrett/odyssey.git && cd odyssey # Clone this repository
sbt dist # Build the application
The resulting zip file should now be in ./target/universal
It may be extracted to your preferred install location.
Connection to the database is specified via environment variables. The application is configured to use MySQL for the database with the following variables.
- DB_HOST - Database hostname e.g.
mysqldb.odyssey.com
- DB_NAME - Name of the database holding the odyssey data e.g.
odyssey-production
- DB_USERNAME - Username with appropriate privileges to access the odyssey database.
- DB_PASSWORD - Password for the aforementioned user.
After building using sbt dist
you may create a docker container of the application using docker build . -t odyssey
. The resulting container may be run using:
docker run \
-p 9000:9000 \
-e DB_HOST=example.com \
-e DB_NAME=odyssey_data \
-e DB_USERNAME=odyssey_db_user \
-e DB_PASSWORD=odyssey_db_pass \
-v user_photos:/opt/odyssey/data/photos \
odyssey
- Navigate into the newly extracted
${INSTALL_LOCATION}/bin
folder - Execute the
odyssey-X.X.bat
file
- Navigate into the newly extracted
${INSTALL_LOCATION}/bin
folder - Open the folder in the terminal and type
chmod +x ./odyssey-X.X
. This enables the file to be executable. - Execute
./odyssey-X.X
.
The application will now be accessible at http://127.0.0.1:9000/
To login as an admin user use username [email protected]
and password 1nimda
.
To login as a regular user use username [email protected]
and password guest123
.
Click here for a comprehensive guide to using Odyssey.
- Play Documentation
- EBean is a Java ORM library that uses SQL.The documentation can be found here.
All external licences can be found in the /doc
directory in the repo or on our Wiki.