Film Sunday
A Firebase-Powered Film Voting App
Film Sunday is a web application I built to help my friends and I decide what Film to watch for our weekly film nights. Using Firebase Realtime Database, it allows users to submit Film suggestions, vote on their favorites, and view results in real-time.
The Problem
Every Sunday, my friends and I would gather to watch a Film together. The challenge? Deciding what to watch and not wasting an evening watching a movie. The difference can easily be understood by the example of enjoying cheese and whine during a film in comparison to popcorn and soda during a movie. This is no easy task.
I needed a solution that would:
- Allow anyone to submit Film ideas throughout the week
- Enable fair voting when it's time to decide
- Show results transparently
- Work on any device without app installation
The Solution
Film Sunday is a simple web app with four main pages:
Submit a Film
Users can submit Film suggestions at any time during the week. Each submission is stored in Firebase Realtime Database and made available for the voting phase.
Vote
When voting opens (Saturday), users can rank their top choices. The voting system ensures everyone has an equal say in the final decision.
View Results
Results are calculated and displayed in real-time. The winning film becomes our Sunday Film!
Admin Controls
A hidden admin panel allows the host to manage the voting cycle, reset votes, select winners, and manage a waitlist of films for future weeks.
Technical Implementation
The app uses:
- Firebase Realtime Database for storing submissions, votes, and state
- Vanilla JavaScript for all interactivity
- Simple CSS for a clean, mobile-friendly interface
Key features include real-time data synchronization, so when someone votes, everyone sees the update immediately. The admin controls use a simple password system to prevent unauthorized access although not using the most secure method.