Skip to content

AmanGarg0303/next-movies

Repository files navigation

I'm using docker to run postgres and redis.

Using prisma ORM for requests.

Using zod for validations.

Using tailwind and shadcn-ui for styling.

It is a movies website where you have to login with google first to see the list of movies. The home page has infinite scroll enabled so that we only fetch desired movies and then they are cached using redis to reduce response time. Homepage also has categories list.

The explore page has a react-terminal where we can play with some commands.

The admin has the ability to add a new movie or category. Whenever a new movie or category is added, the redis cache is cleared. Admin has a paginated list of categories, movies, users.

The admin routes are also protected using the middleware.ts file.

.env includes:

DATABASE_URL=

AUTH_SECRET=

GOOGLE_CLIENT_ID=

GOOGLE_CLIENT_SECRET=

NEXT_PUBLIC_APP_URL="http://localhost:3000"

After adding these to .env file, run npm run dev in terminal.