Skip to content

atharvakadlag/FlickSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Steps to create the application:

  1. Data Source: Decide where you'll source the movie profiles. You might want to use a movie database API like TMDb or IMDB to fetch movie data, or you could curate your own dataset.

  2. Data Model: Define a data model for movie profiles. This should include details such as title, genre, release year, director, cast, and more. You can use Pydantic models in FastAPI for this.

  3. User Profiles: Create user profiles where users can rate movies and store their preferences. You'll need a database for this, and you can use databases like SQLite, PostgreSQL, or MySQL.

  4. Matching Algorithm: Develop an algorithm that suggests movies to users based on their preferences. You can use machine learning or simple recommendation algorithms for this.

  5. User Interface: Design the user interface for swiping right or left on movie profiles. This can be a web-based UI using HTML/CSS or a mobile app using a framework like React Native or Flutter.

  6. Authentication: Implement user authentication to secure user profiles and data.

  7. API Endpoints: Create FastAPI endpoints for user actions, such as liking/disliking movies, fetching recommendations, and updating user profiles.

  8. Real-time Communication: If you want real-time updates between two partners, consider using WebSockets for communication.

  9. Deployment: Deploy your FastAPI app on a server, cloud platform, or a service like Heroku.

Database design

Apart from the obvious User and Movie models we shall make the following models

  1. Rating: You could have a Rating model to represent how users rate movies. This could help in providing better recommendations based on user preferences.

  2. Genre: A Genre model could categorize movies into genres. Users might have preferences for specific genres, so this model can be used to associate movies with genres.

  3. Match: If you want to keep track of user-movie matches or connections, you could create a Match model. This would link users to movies they've shown interest in or agreed on.

  4. Review: Users might want to write reviews or comments about movies. You could create a Review model to store these.

  5. Conversation: If you're planning to implement real-time chat or messaging between users who have matched on a movie, a Conversation model could be useful.

  6. Notification: A Notification model could be used to store and manage notifications or updates for users, like new matches or messages.

User Model Attributes

  1. Username: The user's chosen username for the app.
  2. Email: The user's email address for communication and account recovery.
  3. Password: To securely store and verify user passwords, it's recommended to hash and salt the passwords.
  4. Full Name: The user's full name.
  5. Date of Birth: The user's date of birth.
  6. Gender: User's gender (optional).
  7. Location: The user's location or preferred location for matching.
  8. Bio/Description: A short bio or description that users can provide.
  9. Profile Picture: Store a link or reference to the user's profile picture.
  10. Interests: Users can specify their interests, which can help with movie recommendations.
  11. Hashed password: store the hash of the users password

Movie Model Attributes

  1. Title: The title of the movie.
  2. Description: A brief description or plot summary of the movie.
  3. Genre: The genre(s) to which the movie belongs.
  4. Release Year: The year the movie was released.
  5. Director: The director(s) of the movie.
  6. Cast: The main cast and actors in the movie.
  7. Runtime: The duration of the movie.
  8. Rating: Movie's rating or average user rating (optional).
  9. Cover Image: Store a link or reference to the movie's cover image.
  10. Trailer URL: A link to the movie's trailer (optional).

About

find a movie to watch that both you and your partner like

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published