The Curious Case of Professor Jones

Try it out! http://35.238.16.82

Inspiration

We loved Murder Mystery games and wanted to build one that anyone could play, even when alone!

What it does

Professor Jones has been murdered and there are 4 suspects. It is up to you to find out who the culprit is! Interact with the bot that helps you uncover trails and find out clues on who the suspect is. Accuse the suspect and find out how good of a detective(or a third imposter) you are.

How we built it

The backend server was built with Java and Netty. We used Vue to build a frontend for the application. We also used Flask as a server to interact with Google's Dialogflow NLP agent to process user queries and extract sense out of them. The Vue web app is deployed using Firebase hosting while the Java is deployed directly on a Compute Engine VM. The Flask server was containerized and deployed to a VM using NGINX Unit as the production server.

Challenges we ran into

Quite a few!

  • Working with Netty in Java
  • Getting the Java app to run on the VM instance
  • Getting the service accounts to work when using Dialogflow with Python
  • Handling CORS with Netty
  • Deploying the Flask server to a small (aka cheap!) virtual machine
  • Sending HTTP requests to our servers from the HTTPS firebase domain

Accomplishments that we're proud of

We learned a lot of new things! We're really happy that we got Dialogflow to work and were able to integrate it with the rest of the application. Overcoming CORS in Java was a massive hurdle and we were able to fix that as well.

What we learned

Vue, Java, Netty, Dialogflow

What's next for The Curious Case Of Professor Jones

  • Make it multiplayer!
  • Add a leaderboard
  • More murder mysteries.

Built With

Share this project:

Updates