Skip to content

A website where you can give share thoughts and analysis of watched movies people can rate your thoughts , and connect with other cinephiles globally

License

Notifications You must be signed in to change notification settings

blackcat-007/...sofilmy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SoFilmy Logo

Note: SoFilmy is a social platform for cinephiles to post film thoughts, analyze scenes, and connect over cinema.

SoFilmy

"Sofilmy – Where every cinephile’s reel meets for real! From mood-based picks to epic debates, lights, camera… connect!" πŸŽ₯


πŸ”₯ Features

  • βœ… Film Thought Sharing: Users can create detailed posts about movies they've watched recently.
  • βœ… Real-Time Discussion: Chat system lets cinephiles connect and converse instantly.
  • βœ… Post Upvotes & Ratings: Users can give star-based feedback to others' thoughts and reviews.
  • βœ… Comments: Engage in thread-style conversations under each post.
  • βœ… Phone-Based Auth: Sign in via phone number with OTP verification (Firebase).
  • βœ… Realtime Database Sync: Posts and chats update in real-time via Firebase backend.

πŸ›  Tech Stack

TechnologyDescription
React.jsFrontend Framework
Firebase AuthPhone number login with OTP verification
Firebase Realtime DB / FirestorePost & Chat Storage
Firebase HostingDeployment Platform

πŸ“² Getting Started

Clone the Repository

git clone https://github.com/blackcat-007/...sofilmy.git
cd ...sofilmy

Install Dependencies

npm install

Firebase Setup

Make sure you configure Firebase properly:

  1. Create a Firebase project.
  2. Enable Phone Authentication.
  3. Setup Firestore/Realtime Database structure for posts, comments, and chats.
  4. Replace Firebase config in your code with your project credentials.

Run Locally

npm start

The app will run at http://localhost:3000


βš™οΈ Core Modules

πŸŽ₯ Post Feature

  • Create posts with text + optional image/video links
  • Posts are timestamped and stored in database

πŸ“ Comment Section

  • Comment threads under every post
  • Realtime update of new replies

⭐ Upvote System

  • Users can react with stars (1–5) based on how insightful a post is

πŸ’¬ Chat Integration

  • Global chat for all users
  • Real-time messaging using Firebase backend

πŸ“± OTP Login

  • Secure login using mobile phone OTP system
  • No need for email/password

πŸš€ Deployment

  • Hosted on Firebase Hosting
  • Run npm run build and deploy via Firebase CLI

πŸ”’ Security

  • Firebase rules enforce read/write protection
  • OTP validation and Firebase Auth secure the login process
---

☁️ Why Firebase?

Firebase was chosen for SoFilmy because it perfectly matches the needs of a real-time, community-driven social platform:

  • πŸ” Authentication Simplicity & Security
    Firebase Auth with phone-based OTP allows a smooth, email-free sign-in flow that resonates well with mobile-first users. This reduces friction and increases user trust by using verified numbers.

  • ⚑ Real-Time Interactions with Realtime DB
    For the chat system and dynamic post updates, Firebase’s Realtime Database ensures low-latency data syncing, enabling messages and interactions to appear instantly β€” exactly what’s expected in a live discussion platform.

  • πŸ“¦ Scalable Data Storage (Firestore)
    Posts, comments, and ratings are stored in Cloud Firestore for structured, scalable, and indexed access β€” ideal for threaded discussions and analytics.

  • πŸš€ Hosting & Integration
    Firebase Hosting provides fast CDN-backed deployment with seamless CI/CD integration, enabling global users to access SoFilmy without lag.

  • πŸ” Tight Coupling Between Frontend & Backend
    Firebase’s SDKs allow direct client-to-backend communication, reducing boilerplate code, accelerating development, and avoiding traditional REST API overhead.


πŸ“ˆ Scaling Strategy & Thoughtful Architecture

SoFilmy is designed with long-term growth in mind. Here's how it’s built to scale:

  • πŸ“Š Firestore Indexing
    Collections are structured with indexes on timestamps, post popularity, and user activity, ensuring queries remain fast even with thousands of entries.

  • 🧡 Pagination for Performance
    Posts and comment threads are paginated to prevent over-fetching data. The UI fetches a limited number of entries initially and loads more on scroll.

  • 🧼 Chat Cleanup & Archiving Strategy
    Old global chat messages are auto-cleaned or offloaded after a retention period using background Firebase Functions (to be integrated). This reduces load while keeping the system lean.

  • 🚦 Throttling & Write Rules
    Firebase security rules and basic rate limiting are implemented to prevent abuse β€” for example, preventing too many writes in a short period from a single user.

  • 🧠 Future Plan: Firebase Functions
    Planned use of Cloud Functions for:

    • Notification dispatch
    • Automated moderation of flagged content
    • Scheduled cleanup or archiving of stale content
  • πŸ” Robust Security Rules

    • Only authenticated users can post or chat
    • Users can only modify their own posts
    • Chat access is controlled globally to prevent spamming
    • Rules are tested and versioned in the Firebase console

🧠 TL;DR – Firebase in SoFilmy Is Not Just a Shortcut

Firebase wasn’t used because it's "easy" β€” it was chosen because it aligns perfectly with the architecture of a modern, real-time social platform:

βœ… Fast to deploy
βœ… Real-time performance
βœ… Secure and scalable out-of-the-box
βœ… Frontend-first, backend-powerful


πŸ“„ License

This project is licensed under the Apache License 2.0.

Β© 2025 Shubho. All rights reserved under the Apache License 2.0.


πŸ‘¨β€πŸ’» Author

Built with ❀️ by Shubho (blackcat-007)

🀝 Contributing

Want to improve SoFilmy? Fork the repo and open a PR!

πŸ’¬ Contact


πŸ“Έ Previews

Landing Page (if not logged/signed up)

Sign in & Sign up with quick email id verification system

Home Page(if logged in)

Film Analysis section

New Post Section

Dedicated Discussion Room for cinephiles all over the world with create private/public group feature

Explore page to get updated with new trending/popular films& shows along with trailers

Get suggestion based on genre per mood mapping

Dedicated personal profile & follow new profile

## 🚧 Planned & Future Features

To continue evolving SoFilmy into a more powerful, community-driven cinephile network, several features are under consideration and/or in active planning:

πŸ’¬ Direct Messaging (DM)

  • One-to-one chat system for private film discussions
  • Delivered via Firebase Realtime Database or Firestore subcollections
  • Optional message encryption for privacy

πŸ”” Push Notifications

  • Browser and mobile push for:
    • New comments/replies on your post
    • Reactions to your reviews
    • New chat messages in discussion rooms
  • Will use Firebase Cloud Messaging (FCM)

🏷️ User Tagging System

  • Mention users with @username in posts/comments
  • Tagged users receive instant notifications
  • Enables directed discussion threads and collaboration

πŸ“Œ Saved Posts & Watchlist

  • Users can bookmark insightful reviews or film analyses
  • Integrated with personal dashboards
  • Future feature: sync watch history with other streaming platforms

πŸ“ˆ Community Leaderboard

  • Gamified experience for top reviewers, most liked posts, etc.
  • Encourages quality contributions and consistent engagement
  • Can organise movie watch parties where cinephiles can watch a film together

πŸ›  Admin & Moderation Panel

  • Admin dashboard for managing flagged posts or users
  • Auto-moderation using Firebase Functions + custom logic

🌐 Multi-Room Chat / Topic Channels

  • Themed chat rooms by genre (e.g., Sci-Fi Club, Indie Buffs, etc.)
  • Room creation with user-generated tags

πŸ“Š Analytics Dashboard (for Admins)

  • Track user activity, post reach, and platform engagement
  • Helps guide content moderation and feature decisions

🎯 These future features will gradually roll out as SoFilmy grows, enhancing both social interactivity and content depth for cinephiles around the world.

About

A website where you can give share thoughts and analysis of watched movies people can rate your thoughts , and connect with other cinephiles globally

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages