top of page

Commercile

An interactive guessing game for movies & video games. Leverages the Online Movie Database and Internet Game Database APIs to search through their library of titles.

Type

Entertainment

Stack

JavaScript HTML CSS Node.JS AWS API Gateway AWS Secrets Manager OMDB IGDB

Repository

Project Purpose and Goal

The purpose of this project was to replicate the features and layout of other daily trivia and guessing games like Wordle, Globle, etc. and to integrate APIs to support a search feature with automatic suggestions.   

Stack & Explanation

The project was built using HTML because of its effectiveness for structuring the content of each page, with JavaScript being used because of its support of the type of interactivity planned for the game. The backend is fully serverless, with most API requests being done within the code itself because of the project having to be run locally on the users machine with their own private credentials. A proxy server running on AWS was used to handle API requests for one of the databases and for storing credentials in the AWS Secrets Manager. This was done to avoid the CORS policy when requesting that database and to set up the server for when the project becomes web hosted, with all API requests and credentials being handled or stored on the proxy for security. 

​

For the databases I used the Online Movie Database (OMDB) and the Internet Game Database (IGDB) APIs for their large library of movie and game titles.

​

Styling and formatting of page contents was done with CSS for its versatility and customization. To ensure code standardization, ESLint and Prettier were used for their automatic file editing and customizable rules. For hosting the website locally and testing the client-side code, Node.js was used because of its speed and scalability.

Problems and Thought Process

While developing the project I ran into the issue of how I would expand the project to be web hosted and include daily automation to update the game in the future. After coming across another issue, where any request to IGDB would result in a CORS error, I decided to create a proxy server with AWS which not only can handle all IGDB requests through it, but would also allow me to run requests for OMDB, store credentials to keep them secure, and would allow me to automatically update the website every day with AWS Lambda.

 

My main goal in developing Commercile was to make it scalable and flexible enough so that it could be migrated over to web hosting smoothly and be able to integrate functionality like daily automation without any major changes to the existing code.

bottom of page