LaunchHacks IV

Project:

Saiga - Movie Night Scheduler

Team Information

Laura Ozoria

Inspiration

The idea behind Saiga came from a conversation with my partner. We are currently in countries with different time zones. Naturally, this has caused a lot of confusion on when to plan movie nights. We both like to watch movies together, but every time we try to find a movie to watch together, it takes us a very long time to agree on a film that we both like. That's why I decided to create something that would help us not only with the planning process, but also with deciding the best movie for us.

What It Does + Future features

Saiga is a website where a group of friends can:

  • Search for movies and view their overviews/genres
  • Share availability through an interactive availability grid.
  • Check overlapping time slots to schedule the best time for a movie night.
  • Get a Google Calendar invite for everyone in the group.
  • Go through a voting system to pick the best movie for everyone.
  • Receive AI-powered recommendations for the group.

What I learned

My main takeaway from this project is using Java for the backend of a website. I have previously programmed websites with Python's Flask library and other languages for the front-end, but since I took a Software Engineering class in Java, I've felt like trying it, and it was kind of different. I also learned how to use HTML with Thymeleaf and deal with dependency injections, and a new tool: Spring Boot.

How did I build the project?

  • Java + SpringBoot for backend
  • Thymeleaf for HTML rendering through Java
  • HTML + CSS for frontend
  • Figma for designing the prototype
  • JavaScript for approximately grid interactivity
  • Gradle to manage dependencies and IntelliJ IDEA as my IDE.
  • ChatGPT for debugging some controllers + setting a quick HTML demo. (When running)

Accomplishments that I'm proud of

I am really happy with how the API movie grid came out. This is my first time dealing with APIs, and it turned out pretty well. The Figma design also looks better than what I pictured in my head at the beginning of the Hackathon. In terms of overall functionality, I am really proud of the fact that I am able to run the base demo website.

Challenges faced

This is the first time that I've tried to use Java and HTML together. Although I have a strong foundation in Java, I have not fully adapted to its syntax since I am more used to coding in Python, so working with Thymeleaf was a task. To be more particular, I struggled with these:

  • Parsing JSONs into lists. As beforementioned, I am more familiar with Python, and I hadn't parsed a JSON into lists with Jaa before.
  • Being able to show all the films' thumbnails. Even now, some of them are not showing up, and I even tried to add a placeholder for the glitchy films.
  • The SchedulingController class was especially problematic because I didn't understand how to make the whole grid show up.
  • Narrowing down he features that I wanted to show in the demo

Built With

  • css
  • figma
  • google-calendar-api
  • html
  • inteliij-idea
  • java
  • spring-boot
  • thymeleaf
  • tmdb-api
Share this project:

Updates

Submission history