First project down!
It's that time, the time to close all of my tabs I mean. I've submitted a final draft of my command line interface application that takes movie data from the OMDb API and outputs it to a user. Out of all the projects I've done in the past, this one stuck out to me as it's the first thing I've built that interacts with the internet.
So, what does it do?
On startup, the user is prompted to enter a movie title or view their bookmarks. When a movie is entered by the user, they'll receive the title, release year, director, actors, and information about the plot.
From here, a user can choose to get the ratings for that movie, add it to their bookmarks, or not add it and go back to the state in the program where they can look up movies or view all of their bookmarked movies.
If the user chooses to view the movie ratings, a list of sources (Rotten Tomatoes, IMDb, Metacritic) as well as their associated ratings will be shown. The user will remain in this state of the program until they decide to add the current movie to their bookmarks or not.
Why make an app about movies?
I love movies! And I thought about how streaming services don't really show a Rotten Tomatoes score on their own interfaces. The premise of the app is to allow a user to not only get information about a movie, but also see their ratings in one place (no matter the streaming service that is being used). A user could even create a list of movies using their bookmarks and then compare the ratings to decide what to watch next.
Any takeaways after completing the project?
One positive was that I started planning before I started coding. I drew a rough flow diagram for how I imagined the program would go. I also did a good job of debugging along the way rather than coding several pieces of the program at once.
Although I had an idea of what I wanted to accomplish, I do wish that I had tried to look ahead for potential bugs/any edge cases. For example, I realized after the fact that I could bookmark a movie multiple times. If I had looked ahead at the beginning, I could have coded for that initially. Also, I need to do a better job of committing my changes more often.
One project down; on to the next one!
Top comments (0)