HackThisFall-Divine-Devs/CineBuddy
Seu lar para socializar e assistir filmes juntos. Porque filmes são melhores com companhia!
- Stars
- 1
- Forks
- 0
- Último push (UTC)
- 10 de nov. de 2024
- Status do projeto
- Ativo
Tópicos técnicos
README original
Texto original em inglês. Visite o GitHub para a versão atual.
Expandir / recolher README
image
CineBuddy 🍿
Because movies are better with company🤗
It's friday night, your'e all set for to binge your favourite movie🥳
But all friends bail last minute!
https://media2.giphy.com/media/v1.Y2lkPTc5MGI3NjExdDFoNWN5dWxsaWJtMXRjZ2RlNXBhYno0bHQ4bWFxMDkyM2o0YjE5aCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/hECJDGJs4hQjjWLqRV/giphy.webp
You want the excitement of sharing the experience—the laughs, the gasps, the “wait, what?” moments.
Well guess what? CineBuddy has got you covered😎
In just a few clicks, you can join or create a movie group with others who want to watch the same film, at the same time. No awkward scheduling, no cancellations. Just instant movie magic, shared with new friends or fellow fans.
When the credits roll, the group vanishes—no clutter, no hassle, just a shared experience.
📸 Clicks
⚙ Features
- Create or Join a Group: Users can form a group of any size (e.g., a cozy circle of 5 or a large public gathering) and select the movie they’d like to watch, along with a preferred showtime.
- Open to All or Invite-Only: Want to watch only with your friends or as a date? We got you covered! Groups can be made public or kept private. If someone else wants to watch the same movie at the same time, they can easily request to join the group.
- GenAI based Matchmaking: Facing difficulty in finding the group that will suit you? Worry not as our Google's Gemini Based GenAI agent takes care of matchmaking for you!
💻 Tech Stack:
NodeJS MongoDB Express.js
Flutter
GeminiAPI
Python Flask
Postman
✨ Gemini API in Action!
Google's very own gemini-1.5-flash LLM model, enabled by Gemini API is the brains of the matchmaking feature of our application.
The LLM evaluates each user's profile and room joining history to predict what type of room the user would prefer to join again.
With these preferences all rooms are ranked and the user is recommended the room of their liking.
With Gemini API's structured output generation mechanism, the implementation of the system was much simpler cleaner and more importantly faster!
When compared with the traditional methods of manually extracting recent context for the model, Gemini API's grounding feature makes it exponentially easy for the model to look through the internet for recent and relevant information while recommending movies for users.
To view our implementation of the matchmaking feature using Gemini API✨ head on over to ml_api/llms/!
📃API Documentation
Backend API hosted at Vercel
Machine Learning API hosted at Render
Few important API endpoints:
All Public Rooms
Description: List all public rooms
/api/rooms/public
Room Details
Description: Detail of a given room with id: room_id
/api/rooms/{room_id}
Room Search
Description: Search movies based on date and title
/api/rooms/search
ML Matchmaking with Gemini API
Description: Find relavant rooms for the given user with id user_id
/mlapi/matchmaking/{user_id}
🎁 Sponsor tracks we are part of!
https://github.com/user-attachments/assets/58bf8369-6e9e-4dbe-a6a7-afe7b7f4e52e https://github.com/user-attachments/assets/adad5efd-d553-413f-b28a-f21636f41f98 https://github.com/user-attachments/assets/677a5c28-0cc1-4c0e-9637-ea6c6efe5e69 https://github.com/user-attachments/assets/3ecea176-a9ca-4501-b92e-fe4b5d3bccde https://github.com/user-attachments/assets/eff62dbf-f092-444f-92e2-3aa64b677101