Skip to content

It is Learning Management System Website Similarly like Udemy Made Using NextJS 13, Tailwind CSS, Typescript, Stripe, Clerk Authentication, Mux Video Player, PostgreSQL, Prisma ORM

Notifications You must be signed in to change notification settings

psykat1116/Acadeva

Repository files navigation

📚 "Acadeva" a Learning Management System Website Like Udemy Made Using NextJS, Tailwind CSS, Typescript, Prisma As ORM, CockroachDB As PostgreSQL, Clerk For Authentication, Stripe For Payment, Mux For Video Processing, Shadcn UI For User Interface And Much More.

🎯 Dummy Stripe Payment

Stripe Is In Test Mode. So, Use the Dummy Card Numbers Given Below. For More Details Or a Dummy Number of Your Country Go To Testing Card Number

INDIA - 4000003560000008
USA - 4242424242424242

🎯 Clone The Repo

git clone https://github.com/psykat1116/Acadeva.git

🎯 Run The Development

!! - Don't Forget To Convert The Folder Name To Lowercase Otherwise, It Can Lead To A Problem - !!

cd Acadeva
npm run dev

🎯 .env File

Create a .env file in the root folder with the following variable

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL= /sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL= /sign-up
DATABASE_URL=
UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=
MUX_TOKEN_ID=
MUX_TOKEN_SECRET=
NEXT_PUBLIC_SITE_URL = http://localhost:3000
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
NEXT_PUBLIC_TEACHER_ID=

🎯 Get Database Url

  • Go Through CockroachDB Website Create An Account & Create A Cluster. You can only create Single Cluster For Free.
  • After Create Your Free Cluster Save The Password For Use In the DB Connection String.
  • Choose Your Database, Language, OS, ORM, and User & Copy The URL string & Paste it Into The .env file.
  • I Use Typescript & Prisma ORM
DATABASE_URL = postgresql://<username>:<password>@<host>:<port>/<database>?sslmode=verify-full

🎯 Clerk Authentication

  • Create Your Account And Create a New Application
  • Set The Login And Sign Up for Medium Like Google, Github, Email, Phone No, etc
  • Get NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY and CLERK_SECRET_KEY and paste into .env File
  • Go Through the documentation

🎯 Stripe Integration

  • Create Your Stripe Account and create a new project account
  • Get The Secret Key & Set This Into STRIPE_SECRET_KEY
  • For Testing The Webhook In the Local Environment Go Through the Local Environemnt
  • First Download The Stripe CLI
  • Run The Following Code Into The Terminal
    stripe login
    stripe listen --forward-to localhost:3000/api/webhook
  • After Running This You Will Get A Code & Paste it into STRIPE_WEBHOOK_SECRET
  • For Hosted Website Set NEXT_PUBLIC_SITE_URL to your hosted website URL
  • Get Webhook Secret From Here
  • Endpoint URL will be hosted website URL & Selected Events Will Be
    Checkout -> checkout.session.completed
  • Update The STRIPE_WEBHOOK_SECRET to your hosted website https://{website}/api/webhook

🎯 Uploadthing Integration

  • Go To Uploadthing Website Create An Account & Create a new app
  • Get The API Keys In the API keys section And Set The Value Of UPLOADTHING_SECRET and UPLOADTHING_APP_ID

🎯 Mux Integration

  • Go To The MUX Website & Create An Account
  • Get The MUX_TOKEN_SECRET From Settings -> Access Tokens -> Generate New Token
  • You Will Also Get MUX_TOKEN_ID From There In The Token ID Column

About

It is Learning Management System Website Similarly like Udemy Made Using NextJS 13, Tailwind CSS, Typescript, Stripe, Clerk Authentication, Mux Video Player, PostgreSQL, Prisma ORM

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages