Inspiration
Our project team spends a lot of time watching movies and shows in our spare time, especially anime. Since we have an expansive list of anime that we've seen, we used a website that added all the anime we've seen and organized it into categories where we can rate the shows we've seen, and categorize them into 'watched' and 'watching'. We wanted to create the same system but for western-movies so that we could organize our watching list.
How we built it
We built the application using Node.js, React, Express, and MongoDB. We created the database using MongoDB, and used the TMDB API to be able to retrieve movie data from their database. We implemented GeminiAI by creating functions to allow the user to generate movies based on artificial intelligence recommendations. We formatted these outputs made by Gemini to optimize our application. For the deployment of the application, we hosted it on Vercel.
Challenges we ran into
Some issues and challenges that we ran into as a group were:
Deploying the Website: We ran into issues deploying the website as we were not familiar with the whole process of deploying it
Properly formatting the output of Gemini:
Time Management: One of our main issues was time management as our group started this 2.5 weeks before the hackathon was due as we are all students and we had finals, so getting together to put time into this before the deadline was challenging.
Learning Problems: We had a lot of learning problems and curves with learning as we were learning and coding on the fly.
Device Compatibility: Application was not displaying optimally on all devices or screen sizes.
Accomplishments that we're proud of
Working user auth, since we had no idea how to get started, and the whole team was excited once it started working. Making a responsive website because some members had no experience with React, and for others, this was their first time creating a reactive app this size.
What we learned
tech stacks (no one had used mongoDB or express), how to deploy server and frontend separately, how to deal with CORS errors
What's next for MyMovieList
- CICD pipeline
- Unit testing
- Integration testing
- Load testing
- System testing
- Optimization of back-end (formatting output of GeminiAI)
- Auto linting
- Exporting movie files (data from the database into a .csv)
- Data analytics (stats page to compare data in interesting and interactive ways)
- Enabling SSL & TLS
- Remake all the movie cards such that they are individual pages and not an overlay, to properly update what is going on without needing a refresh
- Caching (reduce server loads)
- Display viewing platforms for each movie (where you can see which platform you can watch the specific movie)
Log in or sign up for Devpost to join the conversation.