Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Creating a Jurassic Park'ish Dinosaur Software System in 12 hours

DZone's Guide to

Creating a Jurassic Park'ish Dinosaur Software System in 12 hours

Check out this developer's virtual Jurassic Park experience that was the product of a three-hour programming contest.

· Open Source Zone ·
Free Resource

Sensu is an open source monitoring event pipeline. Try it today.

As some of you might already know, I participated in a programming contest on Saturday. The contest was mostly for fun, but also an opportunity for me to demonstrate my tools in action in front of a live audience. There were about 450 viewers, and even though the contest lasted for more than 3 hours, a surprisingly large part of the viewers watched it to the bitter end. The hosts did a marvelous job at making the whole thing funny and interesting, and we were given the specification to the system 45 minutes before the event started streaming. I think the idea was to implement as much as possible of the specification in 3 hours, but you never know the winning criteria with these types of contests I guess.

You can see some video footage of the contest here.

After the contest was finished, I decided to continue implementing the system, since I found it a funny and interesting use case, and also a potential example use case implementation for Phosphorus Five. So I spent an additional 10 hours of coding, to implement a generic "Theme Park Software System," and implemented the following:

  • Guided tours using Speech Synthesis and Google Translate.

  • Front-end allowing the customers to purchase tickets, browse exhibits, and take tours.

  • Backend allowing an employee at the Theme Park to administrate all aspects us the system using CRUD data grids and forms.

  • Authentication and authorization to allow employees to log in to the system.

  • Signing up guests for newsletters as they purchase tickets, with the option of opting out by clicking a checkbox.

  • Allowing employees to edit exhibits using a web-based Markdown editor.

The system is entirely web-based, and intended to run on the LAN, and/or in "kiosks" inside the Theme Park. It uses MySQL as its backend and is 100% open source. If you'd like to see a video demonstrating the system the way it is now, you can check out this link. If you'd like to download the source code for a "Jurassic Park'ish Theme Park Software System", you can download the system here. If you want to test the system, you'll need to download Phosphorus Five, and install the Dinosaur system through the "Desktop" module, by clicking the "Upload module" button. Below is an 8 minutes long YouTube video (external link) demonstrating the system, and some aspects of its code.


The system features 5 MySQL tables, with foreign keys and referential integrity. It also automatically translates "tours" into the language of choice for the customer, by allowing the customer to click the flag of his country, at which point the English tour text is translated using Google Translate, and used as the input for speech synthesis. The idea is to allow guests to use their smartphones to take "guided tours" in the park. In addition, the system uses Google's Graph API to create QR codes, linking directly to the tours, allowing the theme park to display these QR codes in their park, to encourage guests to take guided tours. In addition, the system uses several data grids and CRUD input forms, allowing an employee to manage the system's data. It also features PayPal integration for purchasing tickets.

I'll probably end up coding some additional few days on the system, before I'll simply leave it as it is, to use it as a use case for Phosphorus Five. However, if you've ever had plans to start your own private Jurassic Park Theme Park, you now have the necessary IT systems to do just that, I guess.

Installation

  1. Download Phosphorus Five

  2. Download InGen Theme Park's zip file

  3. Upload and install InGen's zip file using the "Desktop" module, and its "Upload button"

I had lots of fun, and hopefully, you may have some too, studying the source code for the system. Everything is open source, and the code should be fairly well commented and nicely structured. Below is a screenshot of the system.

Image title


From bare metal to Kubernetes, Sensu gives you complete visibility across every system and protocol. Get started today.

Topics:
mysql ,web development ,open source ,open source project ,phosphorus

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}