This is a full-stack website for streaming your entertainment.
The project is end-to-end developed in TypeScript using:
- NodeJS with NPM as the foundation;
- ReactJS library with NextJS for framework;
- NextAuth with Bcrypt for authorization;
- Prisma with Adapter for data abstraction;
- SWR for reactive data fetching purposes;
- Zustand for reactive state management;
- Axios and Lodash for utility functions;
- Tailwind CSS with HeroIcons for styling.
The stable releases of the following technologies are used:
Technology | Version | Technology | Version |
---|---|---|---|
Node | 18.6+ | NPM | 9.8+ |
TypeScript | 5.1+ | React & DOM | 18.2+ |
Next | 13.4+ | NextAuth | 4.22+ |
Prisma | 4.16+ | Prisma Adapter | 1.0+ |
SWR | 2.2+ | Zustand | 4.3+ |
Axios | 1.4+ | Lodash | 4.17+ |
Bcrypt | 5.1+ | Autoprefixer | 10.4+ |
PostCSS | 8.4+ | Tailwind CSS | 3.3+ |
ReactIcons | 4.10+ | HeroIcons | 2.0+ |
P.S. For hosted usage, only Vercel deployment with variables is sufficient.
The environment variables to be used, are:
- Go to the Mongo Atlas Console and select the
Netflix Clone
project. - Select the
DataCluster
deployment and click onConnect
button. - Choose the
MongoDB for VS Code
option and copy the URL. - Append the name of the Database [
/prisma_netflix
] at the end. - Replace the Credential phrases with their actual values.
- Enter the entire Database URL in the
DATABASE_URL
field.
- For the
NEXTAUTH_SECRET
field, enter the value [NEXTAUTH-SECRET
]. - For the
NEXTAUTH_JWT_SECRET
field, enter the value [NEXTAUTH-JWT-SECRET
].
- For the local deployment, go to this GitHub OAuth App for development purposes.
- For the remote deployment, go to this GitHub OAuth App for production purposes.
- Copy the
Client ID
andClient Secret
variables. - Enter them in the
GITHUB_ID
andGITHUB_SECRET
fields.
- Browse to the projects in the Google Cloud Console.
- Select the
Website Client
client and copy the variables. - Enter them in the
GOOGLE_CLIENT_ID
andGOOGLE_CLIENT_SECRET
fields.
For development purposes, follow these steps:
-
Run this command to install all the dependencies:
npm install
-
Run this command to keep watch and start the local server:
npm run dev
-
Go to this URL to use the application:
http://localhost:3000
For production purposes, follow these steps:
-
Run this command to install the required dependencies:
npm install
-
Run this command to minify and build the React project:
npm run build
-
Run this command to host the optimized React project:
npm start
-
Go to this URL to use the application:
http://localhost:3000
Thank you for using it!