ThetaFlicks is a A free to use app to stream movies, series, and sports.
- Movies and TV series streaming with metadata from TMDB.
- Live sports streaming section.
- Search functionality with real-time suggestions.
- Watchlist feature using
localStorage.
- An edge computing platform (e.g., Cloudflare Workers, Vercel Edge).
- An API key from The Movie Database (TMDB).
-
Clone the repository
git clone https://github.com/Volzeur/ThetaFlicks.git cd ThetaFlicks -
Deploy the Edge Worker
- Deploy the
api/worker.jsfile to your edge platform. - Set the following environment variables in your worker's configuration:
TMDB_KEY_1=your_first_tmdb_api_key TMDB_KEY_2=your_second_tmdb_api_key
- Deploy the
-
Configure the Frontend
- Open
index.htmland locate thetmdbFetchfunction. - Update the fetch URL to point to your deployed worker endpoint:
const url = `https://your-worker-url.workers.dev?path=${encodeURIComponent(path)}&query=${encodeURIComponent(queryParams)}`;
- Open
-
Host the Static Files
- Deploy the files to Vercel or any other hosting service provider
The frontend requests data through the edge worker to avoid exposing TMDB API keys. The worker:
- Accepts
pathandqueryparameters. - Iterates through configured
TMDB_KEYenvironment variables. - Bypasses keys that return
401 Unauthorizedor429 Too Many Requests. - Returns the response with a
Cache-Controlheader (max-age=60).
- Movies/Series: The inline player loads iframe embeds from third-party providers. Users can switch servers if one fails.
- Sports: The
sports.htmlpage fetches live match data from an external sports API, renders match cards, and opens streams in a fullscreen modal.
Media items saved via the "Save" button are serialized and stored in the browser's localStorage under the savedMedia key.
| Category | Technology |
|---|---|
| Frontend | HTML5, CSS3, Vanilla JavaScript |
| Backend | Edge Runtime (Cloudflare Workers compatible) |
| APIs | TMDB (Metadata), Streamed.st (Sports) |
| Styling | Custom CSS Variables, Flexbox, CSS Grid, Lexend Font, Font Awesome |
| Hosting | Vercel (Main App), Firebase (Landing Page) |
| App building | Kodular (Android) Electron.js (Windows & Linux) |
To see how the app works check this repo ThetaFlicks-Desktop ThetaFlicks-Android
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the GNU AGPLv3 License. See LICENSE for more information.
Created by Nicodemus Gurning