-
Browse movies and/or TV shows
-
Fast and lightweight frontend
-
Clean, modern UI
-
Mobile PWA
-
Saves Watch History
-
Ad-free
| PC | Mobile |
|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Before starting 🏁, you need to have Git and Node installed.
-
Clone the project:
git clone https://github.com/coen-h/zmov
-
Go to the project directory:
cd zmov -
Install dependencies:
npm install
-
Create a
.envfile: -
Request an API key from TMDB and them add it to the
.envfileVITE_API_KEY=YOUR_TMDB_API_KEY -
Create a Supabase Project and setup Authentication with Google. (You can find guides online to help if you don't know how to do this already.)
-
Create a new table in your Supabase project with this PostgresQL query:
CREATE TABLE public.watchedItem (itemId integer NOT NULL UNIQUE,userId uuid NOT NULL,title text NOT NULL,type text NOT NULL,poster text,progress double precision DEFAULT '0'::double precision,duration double precision DEFAULT '0'::double precision,episode integer DEFAULT 1,season integer DEFAULT 1,numOfEpisodes integer DEFAULT 0,numOfSeasons integer DEFAULT 0,createdAt timestamp with time zone NOT NULL DEFAULT now(),CONSTRAINT watchedItem_pkey PRIMARY KEY (itemId, userId));
-
Add the following environment variables to your .env file (You might need to use the transaction pooler database url if direct connection doesn't work for you)
NEXT_PUBLIC_SUPABASE_URL=YOUR_SUPABASE_URL NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=YOUR_SUPABASE_PUBLISHABLE_KEY DATABASE_URL=YOUR_SUPABASE_DATABASE_URL
-
Start the server:
npm run dev








