Skip to content

Game based on the bipartite relationship between actors and the movies they act in; Built in Django with Postgres as a DB system

Notifications You must be signed in to change notification settings

logroa/unchained-movie-game

Repository files navigation

unchained-movie-game

This project is a web-app built in Python through the Django Framework. It's a movie game based off the Six-Degrees of Kevin Bacon phenomenon. More broadly, there a huge network connecting every movie to the actors in it. The bipartite nature of this graph, in which actors only connect to movies and movies only connect to actors, is an easy dataset to document and manage in a database with very simple architecture. This, in conjunction with my love for movies, presented an awesome opportunity to grow as a programmer and build something that I and a lot of my friends would actually use.

The crux of this game is knowing the actors in your favorite movies, what other movies they are in, then who else is in those movies. An example of the game is starting with Steve Carell, then playing the movie "Get Smart", where you can then play Anne Hatheway, who opens the door to "The Devil Wears Prada" and Meryl Streep after that. The game is very one dimensional right now, but I definitely enjoy playing it, and it is pretty fun if a whole group of friends is playing together.

On the backend, a Postgres database is utilized to manage all data. Within that database, actors and movies are separated by connected in a many-to-many roles table. The database also stores each actor/movie a user plays, as well as the total scores of each game. With more users who play more frequently, there is definitely a great opportunity for insights on the movies and actors who resonate with different ages, genders, and demographics. As for aggregating this data, when a user plays a movie/actor, the database is checked to see if it is correct. If it can't find that entity, a third party iMDB api is called for validation. If this answer is found to be correct there, that actor/movie and the connecting role is then added to our database for easier access in the future. I think this is very cool because as more users play the game, our database grows and the game becomes less reliant on that third party api.

Using Django was a great choice because much of the internal project architecture is automated, as well as the frontend being taken care of by static files that are able to accept url parameters. It also provides easy to use ORMs for the postgres database, which streamlines much of the necessary endpoint development. Python is perfect for the string data processing as well, so being able to package it with Django was appreciated. The server, frontend, and database are hosted through Heroku and available at the url: galoobigami.herokuapp.com

I really enjoyed this project as it was a great first step in web development, software design, and data management. I've learned a lot in class, but building something on my own and having to comb through documentation after documentation to figure out how to do so probably teaches me an equal amount just in terms of working in industry.

My email is [email protected]. Reach out with anything that has to do with this project!

About

Game based on the bipartite relationship between actors and the movies they act in; Built in Django with Postgres as a DB system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published