Skip to content

akkshitgupta/Course-App

Repository files navigation

Course App

This is an online course selling app. Students now able to learn from any teacher around the globe without the hesitation of being there or not being able to reach there.

Tech Stack

  • Next.js : simplifies the creation of fast and server-rendered web applications
  • Tailwind CSS : utility-first CSS framework that streamlines web development by providing pre-designed classes
  • Recoil : state management library for React applications
  • MongoDB : popular open-source NoSQL database that uses a document-oriented data model.

FULLSTACK - NEXT.js

Frontend is created using the Next.js framework built over the top of the React.js which made working with React.js even better. Backend is also done using serverless functions of the Next.js within in the api folder with the help of app routes

DataBase - MongoDB

MongoDB is being used to store the data related to the app like user data, creator data, created video lectures, etc. Mongoose library which works great with Express.js

Authentication - Next-Auth

Next-auth library has been implemented for better user experience as Google auth and GitHub auth for user to sign in easily. Also, it help the maintainers to verify the credibility of the app users

Local Setup

  1. Fork the repo by clicking fork button at the top-right corner image

  2. Make a local copy of project by cloning it.

    Open your terminal or command prompt and run the below commands

git clone https://github.com/user_name/course-selling-app.git
cd course-selling-app

replace the user_name with yours.

  1. Install the dependencies using your favourite package manager, mine yarn 😄
yarn install

OR with npm

npm install
  1. Run the frontend locally at http://localhost:3000/ using
npm run dev

or

yarn run dev
  1. Set up the variables to locally run the code successfully
  • copy the .env.example file as .env and replace all the sample credentials with yours originals.
  • Get your MONGO_URL and MONGO_DB credentials and replace them with those in .env
  • Set a SECRET_KEY of your choice, it can be any random string.
  • Get your next-auth providers' credentials, atleast one. learn more here