├── src ├── index.css ├── assets │ ├── Images │ │ ├── frame.png │ │ ├── rzp.png │ │ ├── banner.mp4 │ │ ├── login.webp │ │ ├── signup.webp │ │ ├── Instructor.png │ │ ├── aboutus1.webp │ │ ├── aboutus2.webp │ │ ├── aboutus3.webp │ │ ├── boxoffice.png │ │ ├── FoundingStory.png │ │ ├── TimelineImage.png │ │ ├── Plan_your_lessons.png │ │ ├── Compare_with_others.png │ │ └── Know_your_progress.png │ ├── Logo │ │ ├── Logo-Full-Dark.png │ │ ├── Logo-Full-Light.png │ │ ├── Logo-Small-Dark.png │ │ └── Logo-Small-Light.png │ └── TimeLineLogo │ │ ├── Logo4.svg │ │ ├── Logo3.svg │ │ ├── Logo1.svg │ │ └── Logo2.svg ├── Components │ ├── core │ │ ├── Dashboard │ │ │ ├── PurchaseHistory.jsx │ │ │ ├── Cart │ │ │ │ ├── index.jsx │ │ │ │ ├── RenderTotalAmount.jsx │ │ │ │ └── RenderCartCourses.jsx │ │ │ ├── SidebarLink.jsx │ │ │ ├── AddCourse │ │ │ │ ├── index.jsx │ │ │ │ ├── CourseInformation │ │ │ │ │ ├── ChipInput.jsx │ │ │ │ │ ├── RequirementField.jsx │ │ │ │ │ └── Upload.jsx │ │ │ │ └── RenderSteps.jsx │ │ │ ├── EditCourse.jsx │ │ │ │ └── EditCourse.jsx │ │ │ ├── MyCourses │ │ │ │ └── MyCourses.jsx │ │ │ ├── AdminPannel.jsx │ │ │ ├── InstructorDashboard │ │ │ │ └── DashboardChart.jsx │ │ │ ├── PublishCourse │ │ │ │ └── PublishCourse.jsx │ │ │ └── Sidebar.jsx │ │ ├── HomePage │ │ │ ├── HighlightText.jsx │ │ │ ├── Button.jsx │ │ │ ├── CourseCard.jsx │ │ │ ├── InstructorSection.jsx │ │ │ ├── LearningLanguageSection.jsx │ │ │ ├── CodeBlocks.jsx │ │ │ ├── ExploreMore.jsx │ │ │ └── TimelineSection.jsx │ │ ├── Auth │ │ │ ├── PrivateRoute.jsx │ │ │ ├── OpenRoute.jsx │ │ │ ├── Template.jsx │ │ │ ├── ProfileDropDown.jsx │ │ │ └── LoginForm.jsx │ │ ├── AboutPage │ │ │ ├── ContactFormSection.jsx │ │ │ ├── Quote.jsx │ │ │ ├── Stats.jsx │ │ │ └── LearningGrid.jsx │ │ ├── Catalog │ │ │ └── CatalogCard.jsx │ │ └── ViewCourse │ │ │ └── ReviewModal.jsx │ ├── ScrollToTop.js │ └── common │ │ ├── Tab.jsx │ │ ├── IconBtn.jsx │ │ ├── RatingStars.jsx │ │ └── ConfirmationModal.jsx ├── swDev.js ├── utils │ ├── constants.js │ └── avgRating.js ├── pages │ ├── Error.jsx │ ├── Signup.jsx │ ├── Dashboard.jsx │ ├── ViewCourse.jsx │ ├── VerifyOtp.jsx │ ├── Login.jsx │ ├── ForgotPassword.jsx │ └── SearchCourse.jsx ├── data │ ├── navbar-links.js │ ├── dashboard-links.js │ └── footer-links.js ├── services │ ├── apiConnector.js │ ├── formatDate.js │ ├── operations │ │ └── pageAndComponentData.js │ └── apis.js ├── slices │ ├── loadingBarSlice.js │ ├── profileSlice.js │ ├── authSlice.js │ ├── courseSlice.js │ ├── viewCourseSlice.js │ └── cartSlice.js ├── reducers │ └── index.js ├── index.js └── hooks │ └── useOnClickOutside.js ├── public ├── robots.txt ├── ios │ ├── 16.png │ ├── 20.png │ ├── 29.png │ ├── 32.png │ ├── 40.png │ ├── 50.png │ ├── 57.png │ ├── 58.png │ ├── 60.png │ ├── 64.png │ ├── 72.png │ ├── 76.png │ ├── 80.png │ ├── 87.png │ ├── 100.png │ ├── 1024.png │ ├── 114.png │ ├── 120.png │ ├── 128.png │ ├── 144.png │ ├── 152.png │ ├── 167.png │ ├── 180.png │ ├── 192.png │ ├── 256.png │ └── 512.png ├── Logo-Full-Light.png ├── Logo-Small-Light.png ├── windows11 │ ├── LargeTile.scale-100.png │ ├── LargeTile.scale-125.png │ ├── LargeTile.scale-150.png │ ├── LargeTile.scale-200.png │ ├── LargeTile.scale-400.png │ ├── SmallTile.scale-100.png │ ├── SmallTile.scale-125.png │ ├── SmallTile.scale-150.png │ ├── SmallTile.scale-200.png │ ├── SmallTile.scale-400.png │ ├── StoreLogo.scale-100.png │ ├── StoreLogo.scale-125.png │ ├── StoreLogo.scale-150.png │ ├── StoreLogo.scale-200.png │ ├── StoreLogo.scale-400.png │ ├── SplashScreen.scale-100.png │ ├── SplashScreen.scale-125.png │ ├── SplashScreen.scale-150.png │ ├── SplashScreen.scale-200.png │ ├── SplashScreen.scale-400.png │ ├── Square44x44Logo.scale-100.png │ ├── Square44x44Logo.scale-125.png │ ├── Square44x44Logo.scale-150.png │ ├── Square44x44Logo.scale-200.png │ ├── Square44x44Logo.scale-400.png │ ├── Wide310x150Logo.scale-100.png │ ├── Wide310x150Logo.scale-125.png │ ├── Wide310x150Logo.scale-150.png │ ├── Wide310x150Logo.scale-200.png │ ├── Wide310x150Logo.scale-400.png │ ├── Square150x150Logo.scale-100.png │ ├── Square150x150Logo.scale-125.png │ ├── Square150x150Logo.scale-150.png │ ├── Square150x150Logo.scale-200.png │ ├── Square150x150Logo.scale-400.png │ ├── Square44x44Logo.targetsize-16.png │ ├── Square44x44Logo.targetsize-20.png │ ├── Square44x44Logo.targetsize-24.png │ ├── Square44x44Logo.targetsize-256.png │ ├── Square44x44Logo.targetsize-30.png │ ├── Square44x44Logo.targetsize-32.png │ ├── Square44x44Logo.targetsize-36.png │ ├── Square44x44Logo.targetsize-40.png │ ├── Square44x44Logo.targetsize-44.png │ ├── Square44x44Logo.targetsize-48.png │ ├── Square44x44Logo.targetsize-60.png │ ├── Square44x44Logo.targetsize-64.png │ ├── Square44x44Logo.targetsize-72.png │ ├── Square44x44Logo.targetsize-80.png │ ├── Square44x44Logo.targetsize-96.png │ ├── Square44x44Logo.altform-unplated_targetsize-16.png │ ├── Square44x44Logo.altform-unplated_targetsize-20.png │ ├── Square44x44Logo.altform-unplated_targetsize-24.png │ ├── Square44x44Logo.altform-unplated_targetsize-30.png │ ├── Square44x44Logo.altform-unplated_targetsize-32.png │ ├── Square44x44Logo.altform-unplated_targetsize-36.png │ ├── Square44x44Logo.altform-unplated_targetsize-40.png │ ├── Square44x44Logo.altform-unplated_targetsize-44.png │ ├── Square44x44Logo.altform-unplated_targetsize-48.png │ ├── Square44x44Logo.altform-unplated_targetsize-60.png │ ├── Square44x44Logo.altform-unplated_targetsize-64.png │ ├── Square44x44Logo.altform-unplated_targetsize-72.png │ ├── Square44x44Logo.altform-unplated_targetsize-80.png │ ├── Square44x44Logo.altform-unplated_targetsize-96.png │ ├── Square44x44Logo.altform-unplated_targetsize-256.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-16.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-20.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-24.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-30.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-32.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-36.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-40.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-44.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-48.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-60.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-64.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-72.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-80.png │ ├── Square44x44Logo.altform-lightunplated_targetsize-96.png │ └── Square44x44Logo.altform-lightunplated_targetsize-256.png ├── android │ ├── android-launchericon-144-144.png │ ├── android-launchericon-192-192.png │ ├── android-launchericon-48-48.png │ ├── android-launchericon-512-512.png │ ├── android-launchericon-72-72.png │ └── android-launchericon-96-96.png ├── service-worker.js └── index.css ├── .env.example ├── server ├── config │ ├── razorpay.js │ ├── cloudinary.js │ └── database.js ├── routes │ ├── ContactUs.js │ ├── Payments.js │ ├── Profile.js │ └── User.js ├── models │ ├── SubSection.js │ ├── Section.js │ ├── Category.js │ ├── Profile.js │ ├── CourseProgress.js │ ├── RatingAndReview.js │ ├── Course.js │ ├── OTP.js │ └── User.js ├── middlewares │ ├── demo.js │ └── auth.js ├── utils │ ├── imageUploader.js │ ├── secToDuration.js │ └── mailSender.js ├── package.json ├── .env.example ├── controllers │ ├── ContactUs.js │ ├── ResetPassword.js │ ├── Section.js │ └── RatingAndReviews.js ├── index.js └── mail │ └── templates │ ├── emailVerificationTemplate.js │ ├── passwordUpdate.js │ ├── courseEnrollmentEmail.js │ └── paymentSuccess.js ├── .gitignore ├── LICENSE ├── package.json ├── tailwind.config.js └── README.md /src/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /public/ios/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/16.png -------------------------------------------------------------------------------- /public/ios/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/20.png -------------------------------------------------------------------------------- /public/ios/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/29.png -------------------------------------------------------------------------------- /public/ios/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/32.png -------------------------------------------------------------------------------- /public/ios/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/40.png -------------------------------------------------------------------------------- /public/ios/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/50.png -------------------------------------------------------------------------------- /public/ios/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/57.png -------------------------------------------------------------------------------- /public/ios/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/58.png -------------------------------------------------------------------------------- /public/ios/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/60.png -------------------------------------------------------------------------------- /public/ios/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/64.png -------------------------------------------------------------------------------- /public/ios/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/72.png -------------------------------------------------------------------------------- /public/ios/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/76.png -------------------------------------------------------------------------------- /public/ios/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/80.png -------------------------------------------------------------------------------- /public/ios/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/87.png -------------------------------------------------------------------------------- /public/ios/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/100.png -------------------------------------------------------------------------------- /public/ios/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/1024.png -------------------------------------------------------------------------------- /public/ios/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/114.png -------------------------------------------------------------------------------- /public/ios/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/120.png -------------------------------------------------------------------------------- /public/ios/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/128.png -------------------------------------------------------------------------------- /public/ios/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/144.png -------------------------------------------------------------------------------- /public/ios/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/152.png -------------------------------------------------------------------------------- /public/ios/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/167.png -------------------------------------------------------------------------------- /public/ios/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/180.png -------------------------------------------------------------------------------- /public/ios/192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/192.png -------------------------------------------------------------------------------- /public/ios/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/256.png -------------------------------------------------------------------------------- /public/ios/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/ios/512.png -------------------------------------------------------------------------------- /public/Logo-Full-Light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/Logo-Full-Light.png -------------------------------------------------------------------------------- /public/Logo-Small-Light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/Logo-Small-Light.png -------------------------------------------------------------------------------- /src/assets/Images/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/frame.png -------------------------------------------------------------------------------- /src/assets/Images/rzp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/rzp.png -------------------------------------------------------------------------------- /src/assets/Images/banner.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/banner.mp4 -------------------------------------------------------------------------------- /src/assets/Images/login.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/login.webp -------------------------------------------------------------------------------- /src/assets/Images/signup.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/signup.webp -------------------------------------------------------------------------------- /src/assets/Images/Instructor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/Instructor.png -------------------------------------------------------------------------------- /src/assets/Images/aboutus1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/aboutus1.webp -------------------------------------------------------------------------------- /src/assets/Images/aboutus2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/aboutus2.webp -------------------------------------------------------------------------------- /src/assets/Images/aboutus3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/aboutus3.webp -------------------------------------------------------------------------------- /src/assets/Images/boxoffice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/boxoffice.png -------------------------------------------------------------------------------- /src/assets/Logo/Logo-Full-Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Logo/Logo-Full-Dark.png -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | REACT_APP_BASE_URL = http://localhost:4000/api/v1 2 | 3 | REACT_APP_RAZORPAY_KEY_ID = # Razorpay Key ID get from Razorpay website -------------------------------------------------------------------------------- /src/assets/Images/FoundingStory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/FoundingStory.png -------------------------------------------------------------------------------- /src/assets/Images/TimelineImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/TimelineImage.png -------------------------------------------------------------------------------- /src/assets/Logo/Logo-Full-Light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Logo/Logo-Full-Light.png -------------------------------------------------------------------------------- /src/assets/Logo/Logo-Small-Dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Logo/Logo-Small-Dark.png -------------------------------------------------------------------------------- /src/assets/Logo/Logo-Small-Light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Logo/Logo-Small-Light.png -------------------------------------------------------------------------------- /src/assets/Images/Plan_your_lessons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/Plan_your_lessons.png -------------------------------------------------------------------------------- /public/windows11/LargeTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/LargeTile.scale-100.png -------------------------------------------------------------------------------- /public/windows11/LargeTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/LargeTile.scale-125.png -------------------------------------------------------------------------------- /public/windows11/LargeTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/LargeTile.scale-150.png -------------------------------------------------------------------------------- /public/windows11/LargeTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/LargeTile.scale-200.png -------------------------------------------------------------------------------- /public/windows11/LargeTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/LargeTile.scale-400.png -------------------------------------------------------------------------------- /public/windows11/SmallTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SmallTile.scale-100.png -------------------------------------------------------------------------------- /public/windows11/SmallTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SmallTile.scale-125.png -------------------------------------------------------------------------------- /public/windows11/SmallTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SmallTile.scale-150.png -------------------------------------------------------------------------------- /public/windows11/SmallTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SmallTile.scale-200.png -------------------------------------------------------------------------------- /public/windows11/SmallTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SmallTile.scale-400.png -------------------------------------------------------------------------------- /public/windows11/StoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/StoreLogo.scale-100.png -------------------------------------------------------------------------------- /public/windows11/StoreLogo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/StoreLogo.scale-125.png -------------------------------------------------------------------------------- /public/windows11/StoreLogo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/StoreLogo.scale-150.png -------------------------------------------------------------------------------- /public/windows11/StoreLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/StoreLogo.scale-200.png -------------------------------------------------------------------------------- /public/windows11/StoreLogo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/StoreLogo.scale-400.png -------------------------------------------------------------------------------- /src/assets/Images/Compare_with_others.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/Compare_with_others.png -------------------------------------------------------------------------------- /src/assets/Images/Know_your_progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/src/assets/Images/Know_your_progress.png -------------------------------------------------------------------------------- /public/windows11/SplashScreen.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SplashScreen.scale-100.png -------------------------------------------------------------------------------- /public/windows11/SplashScreen.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SplashScreen.scale-125.png -------------------------------------------------------------------------------- /public/windows11/SplashScreen.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SplashScreen.scale-150.png -------------------------------------------------------------------------------- /public/windows11/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /public/windows11/SplashScreen.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/SplashScreen.scale-400.png -------------------------------------------------------------------------------- /public/android/android-launchericon-144-144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/android/android-launchericon-144-144.png -------------------------------------------------------------------------------- /public/android/android-launchericon-192-192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/android/android-launchericon-192-192.png -------------------------------------------------------------------------------- /public/android/android-launchericon-48-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/android/android-launchericon-48-48.png -------------------------------------------------------------------------------- /public/android/android-launchericon-512-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/android/android-launchericon-512-512.png -------------------------------------------------------------------------------- /public/android/android-launchericon-72-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/android/android-launchericon-72-72.png -------------------------------------------------------------------------------- /public/android/android-launchericon-96-96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/android/android-launchericon-96-96.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.scale-100.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.scale-125.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.scale-150.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.scale-400.png -------------------------------------------------------------------------------- /public/windows11/Wide310x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Wide310x150Logo.scale-100.png -------------------------------------------------------------------------------- /public/windows11/Wide310x150Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Wide310x150Logo.scale-125.png -------------------------------------------------------------------------------- /public/windows11/Wide310x150Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Wide310x150Logo.scale-150.png -------------------------------------------------------------------------------- /public/windows11/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /public/windows11/Wide310x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Wide310x150Logo.scale-400.png -------------------------------------------------------------------------------- /public/windows11/Square150x150Logo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square150x150Logo.scale-100.png -------------------------------------------------------------------------------- /public/windows11/Square150x150Logo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square150x150Logo.scale-125.png -------------------------------------------------------------------------------- /public/windows11/Square150x150Logo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square150x150Logo.scale-150.png -------------------------------------------------------------------------------- /public/windows11/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /public/windows11/Square150x150Logo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square150x150Logo.scale-400.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-16.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-20.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-24.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-256.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-30.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-32.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-36.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-40.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-44.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-48.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-60.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-64.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-72.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-80.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.targetsize-96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.targetsize-96.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-16.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-20.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-24.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-30.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-32.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-36.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-40.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-44.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-48.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-60.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-64.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-72.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-80.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-96.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-unplated_targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-unplated_targetsize-256.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-16.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-20.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-24.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-30.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-32.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-36.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-40.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-44.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-48.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-60.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-64.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-72.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-80.png -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-96.png -------------------------------------------------------------------------------- /server/config/razorpay.js: -------------------------------------------------------------------------------- 1 | const Razorpay = require("razorpay"); 2 | 3 | 4 | exports.instance = new Razorpay({ 5 | key_id: process.env.RAZORPAY_KEY, 6 | key_secret: process.env.RAZORPAY_SECRET, 7 | }); -------------------------------------------------------------------------------- /public/windows11/Square44x44Logo.altform-lightunplated_targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vishalparmarr/Study-Notion-master/HEAD/public/windows11/Square44x44Logo.altform-lightunplated_targetsize-256.png -------------------------------------------------------------------------------- /src/Components/core/Dashboard/PurchaseHistory.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | const PurchaseHistory = () => { 4 | return ( 5 |
PurchaseHistory
6 | ) 7 | } 8 | 9 | export default PurchaseHistory -------------------------------------------------------------------------------- /src/swDev.js: -------------------------------------------------------------------------------- 1 | export default function swDev() { 2 | let swUrl = `${process.env.PUBLIC_URL}/service-worker.js` 3 | navigator.serviceWorker.register(swUrl).then((response) => { 4 | console.warn('response', response) 5 | }) 6 | } -------------------------------------------------------------------------------- /src/utils/constants.js: -------------------------------------------------------------------------------- 1 | export const ACCOUNT_TYPE = { 2 | STUDENT: "Student", 3 | INSTRUCTOR: "Instructor", 4 | ADMIN: "Admin", 5 | } 6 | 7 | export const COURSE_STATUS = { 8 | DRAFT: "Draft", 9 | PUBLISHED: "Published", 10 | } -------------------------------------------------------------------------------- /server/routes/ContactUs.js: -------------------------------------------------------------------------------- 1 | const express = require("express") 2 | const router = express.Router() 3 | const {contactUs}=require("../controllers/ContactUs"); 4 | 5 | 6 | 7 | 8 | router.post("/contactUs", contactUs); 9 | 10 | module.exports = router; 11 | 12 | -------------------------------------------------------------------------------- /src/pages/Error.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | const Error = () => { 4 | return ( 5 |
6 |

Error-404

7 |
8 | ) 9 | } 10 | 11 | export default Error -------------------------------------------------------------------------------- /server/models/SubSection.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | 3 | const SubSectionSchema = new mongoose.Schema({ 4 | title: { type: String }, 5 | timeDuration: { type: String }, 6 | description: { type: String }, 7 | videoUrl: { type: String }, 8 | }); 9 | 10 | module.exports = mongoose.model("SubSection", SubSectionSchema); -------------------------------------------------------------------------------- /src/data/navbar-links.js: -------------------------------------------------------------------------------- 1 | export const NavbarLinks = [ 2 | { 3 | title: "Home", 4 | path: "/", 5 | }, 6 | { 7 | title: "Catalog", 8 | // path: '/catalog', 9 | }, 10 | { 11 | title: "About Us", 12 | path: "/about", 13 | }, 14 | { 15 | title: "Contact Us", 16 | path: "/contact", 17 | }, 18 | ]; 19 | -------------------------------------------------------------------------------- /src/Components/core/HomePage/HighlightText.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | function HighlightText({text}) { 4 | return ( 5 | 6 | {" "} 7 | {text} 8 | 9 | ) 10 | } 11 | 12 | export default HighlightText -------------------------------------------------------------------------------- /src/Components/ScrollToTop.js: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react'; 2 | import { useLocation } from 'react-router-dom'; 3 | 4 | 5 | 6 | const ScrollToTop = () => { 7 | const { pathname } = useLocation(); 8 | useEffect(() => { 9 | window.scrollTo(0, 0); 10 | }, [ pathname]); 11 | 12 | return null; // Render nothing, as this is a utility component 13 | }; 14 | 15 | export default ScrollToTop; -------------------------------------------------------------------------------- /server/middlewares/demo.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | //check if demo user 4 | exports.isDemo = async (req, res, next)=> { 5 | console.log(req.user.email); 6 | if (req.user.email === "kumarhimanshusangwan@gmail.com" || req.user.email === "1234@gmail.com") { 7 | return res.status(401).json({ 8 | success: false, 9 | message: "This is a Demo User", 10 | }); 11 | } 12 | next(); 13 | } -------------------------------------------------------------------------------- /src/services/apiConnector.js: -------------------------------------------------------------------------------- 1 | import axios from "axios"; 2 | 3 | export const axiosInstance = axios.create({}); 4 | 5 | 6 | export const apiConnector = (method, url, bodyData, headers, params) => { 7 | return axiosInstance({ 8 | method: method, 9 | url: url, 10 | data: bodyData?bodyData:null, 11 | headers: headers?headers:null, 12 | params: params?params:null 13 | }) 14 | }; -------------------------------------------------------------------------------- /server/models/Section.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | 3 | // Define the Section schema 4 | const sectionSchema = new mongoose.Schema({ 5 | sectionName: { 6 | type: String, 7 | }, 8 | subSection: [ 9 | { 10 | type: mongoose.Schema.Types.ObjectId, 11 | required: true, 12 | ref: "SubSection", 13 | }, 14 | ], 15 | }); 16 | 17 | // Export the Section model 18 | module.exports = mongoose.model("Section", sectionSchema); -------------------------------------------------------------------------------- /src/Components/core/Auth/PrivateRoute.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { useSelector } from 'react-redux' 3 | import { Navigate } from 'react-router-dom'; 4 | 5 | const PrivateRoute = ({children}) => { 6 | 7 | const {token} = useSelector((state) => state.auth); 8 | 9 | if(token !== null) 10 | return children 11 | else 12 | return 13 | 14 | } 15 | 16 | export default PrivateRoute 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | /server/node_modules 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env 18 | .env.development.local 19 | .env.test.local 20 | .env.production.local 21 | 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | -------------------------------------------------------------------------------- /server/models/Category.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | 3 | // Define the Tags schema 4 | const categorySchema = new mongoose.Schema({ 5 | name: { 6 | type: String, 7 | required: true, 8 | }, 9 | description: { type: String }, 10 | courses: [ 11 | { 12 | type: mongoose.Schema.Types.ObjectId, 13 | ref: "Course", 14 | }, 15 | ], 16 | }); 17 | 18 | // Export the Tags model 19 | module.exports = mongoose.model("Category", categorySchema); -------------------------------------------------------------------------------- /server/utils/imageUploader.js: -------------------------------------------------------------------------------- 1 | const cloudinary = require('cloudinary').v2 2 | 3 | 4 | exports.uploadImageToCloudinary = async (file, folder, height, quality) => { 5 | const options = {folder}; 6 | if(height) { 7 | options.height = height; 8 | } 9 | if(quality) { 10 | options.quality = quality; 11 | } 12 | options.resource_type = "auto"; 13 | 14 | return await cloudinary.uploader.upload(file.tempFilePath, options); 15 | } -------------------------------------------------------------------------------- /src/Components/core/Auth/OpenRoute.jsx: -------------------------------------------------------------------------------- 1 | // This will prevent authenticated users from accessing this route 2 | import { useSelector } from "react-redux" 3 | import { Navigate } from "react-router-dom" 4 | 5 | function OpenRoute({ children }) { 6 | const { token } = useSelector((state) => state.auth) 7 | 8 | if (token === null) { 9 | return children 10 | } else { 11 | return 12 | } 13 | } 14 | 15 | export default OpenRoute -------------------------------------------------------------------------------- /server/config/cloudinary.js: -------------------------------------------------------------------------------- 1 | const cloudinary = require('cloudinary').v2 2 | 3 | exports.cloudnairyconnect= ()=>{ 4 | try { 5 | cloudinary.config({ 6 | cloud_name : process.env.CLOUD_NAME, 7 | api_key : process.env.API_KEY, 8 | api_secret : process.env.API_SECRET 9 | }) 10 | console.log("CD connected"); 11 | 12 | 13 | } catch (error) { 14 | console.log("error connecting CD"+error) 15 | } 16 | } -------------------------------------------------------------------------------- /server/models/Profile.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | 3 | // Define the Profile schema 4 | const profileSchema = new mongoose.Schema({ 5 | gender: { 6 | type: String, 7 | }, 8 | dateOfBirth: { 9 | type: String, 10 | }, 11 | about: { 12 | type: String, 13 | trim: true, 14 | }, 15 | contactNumber: { 16 | type: Number, 17 | trim: true, 18 | }, 19 | }); 20 | 21 | // Export the Profile model 22 | module.exports = mongoose.model("Profile", profileSchema); -------------------------------------------------------------------------------- /server/config/database.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | require("dotenv").config(); 3 | 4 | exports.connect = () => { 5 | mongoose.connect(process.env.MONGODB_URL, { 6 | useNewUrlParser: true, 7 | useUnifiedTopology:true, 8 | }) 9 | .then(() => console.log("DB Connected Successfully")) 10 | .catch( (error) => { 11 | console.log("DB Connection Failed"); 12 | console.error(error); 13 | process.exit(1); 14 | } ) 15 | }; -------------------------------------------------------------------------------- /src/slices/loadingBarSlice.js: -------------------------------------------------------------------------------- 1 | import { createSlice } from "@reduxjs/toolkit"; 2 | 3 | const initialState = { 4 | progress: 0, 5 | }; 6 | 7 | const loadingBarSlice = createSlice({ 8 | name: "loadingBar", 9 | initialState, 10 | reducers: { 11 | setProgress: (state, action) => { 12 | return action.payload; 13 | }, 14 | }, 15 | }); 16 | 17 | export const { setProgress } = loadingBarSlice.actions; 18 | export default loadingBarSlice.reducer; -------------------------------------------------------------------------------- /src/utils/avgRating.js: -------------------------------------------------------------------------------- 1 | export default function GetAvgRating(ratingArr) { 2 | if (ratingArr?.length === 0) return 0 3 | const totalReviewCount = ratingArr?.reduce((acc, curr) => { 4 | acc += curr.rating 5 | return acc 6 | }, 0) 7 | // console.log("avg",totalReviewCount) 8 | const multiplier = Math.pow(10, 1) 9 | const avgReviewCount = 10 | Math.round((totalReviewCount / ratingArr?.length) * multiplier) / multiplier 11 | 12 | return avgReviewCount 13 | } -------------------------------------------------------------------------------- /server/models/CourseProgress.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | 3 | const courseProgress = new mongoose.Schema({ 4 | courseID: { 5 | type: mongoose.Schema.Types.ObjectId, 6 | ref: "Course", 7 | }, 8 | userID: { 9 | type: mongoose.Schema.Types.ObjectId, 10 | ref: "User", 11 | }, 12 | completedVideos: [ 13 | { 14 | type: mongoose.Schema.Types.ObjectId, 15 | ref: "SubSection", 16 | }, 17 | ], 18 | }); 19 | 20 | module.exports = mongoose.model("courseProgress", courseProgress); -------------------------------------------------------------------------------- /server/routes/Payments.js: -------------------------------------------------------------------------------- 1 | // Import the required modules 2 | const express = require("express") 3 | const router = express.Router() 4 | 5 | const { capturePayment, verifySignature,sendPaymentSuccessEmail } = require("../controllers/Payments") 6 | const { auth, isInstructor, isStudent, isAdmin } = require("../middlewares/auth") 7 | router.post("/capturePayment", auth, isStudent, capturePayment) 8 | router.post("/verifyPayment",auth,verifySignature) 9 | router.post("/sendPaymentSuccessEmail", auth, sendPaymentSuccessEmail) 10 | 11 | module.exports = router; -------------------------------------------------------------------------------- /src/services/formatDate.js: -------------------------------------------------------------------------------- 1 | export const formatDate = (dateString) => { 2 | const options = { year: "numeric", month: "long", day: "numeric" } 3 | const date = new Date(dateString) 4 | const formattedDate = date.toLocaleDateString("en-US", options) 5 | 6 | const hour = date.getHours() 7 | const minutes = date.getMinutes() 8 | const period = hour >= 12 ? "PM" : "AM" 9 | const formattedTime = `${hour % 12}:${minutes 10 | .toString() 11 | .padStart(2, "0")} ${period}` 12 | 13 | return `${formattedDate} | ${formattedTime}` 14 | } -------------------------------------------------------------------------------- /server/utils/secToDuration.js: -------------------------------------------------------------------------------- 1 | // Helper function to convert total seconds to the duration format 2 | function convertSecondsToDuration(totalSeconds) { 3 | const hours = Math.floor(totalSeconds / 3600) 4 | const minutes = Math.floor((totalSeconds % 3600) / 60) 5 | const seconds = Math.floor((totalSeconds % 3600) % 60) 6 | 7 | if (hours > 0) { 8 | return `${hours}h ${minutes}m` 9 | } else if (minutes > 0) { 10 | return `${minutes}m ${seconds}s` 11 | } else { 12 | return `${seconds}s` 13 | } 14 | } 15 | 16 | module.exports = { 17 | convertSecondsToDuration, 18 | } -------------------------------------------------------------------------------- /src/Components/core/AboutPage/ContactFormSection.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ContactUsForm from '../../contactUs/ContactUsForm' 3 | 4 | const ContactFormSection = () => { 5 | return ( 6 |
7 |

8 | Get in Touch 9 |

10 |

11 | We'd love to here for you, Please fill out this form. 12 |

13 |
14 | 15 |
16 |
17 | ) 18 | } 19 | 20 | export default ContactFormSection 21 | -------------------------------------------------------------------------------- /server/models/RatingAndReview.js: -------------------------------------------------------------------------------- 1 | const mongoose = require("mongoose"); 2 | 3 | // Define the RatingAndReview schema 4 | const ratingAndReviewSchema = new mongoose.Schema({ 5 | user: { 6 | type: mongoose.Schema.Types.ObjectId, 7 | required: true, 8 | ref: "user", 9 | }, 10 | rating: { 11 | type: Number, 12 | required: true, 13 | }, 14 | review: { 15 | type: String, 16 | required: true, 17 | }, 18 | course: { 19 | type: mongoose.Schema.Types.ObjectId, 20 | required: true, 21 | ref: "Course", 22 | index: true, 23 | }, 24 | }); 25 | 26 | // Export the RatingAndReview model 27 | module.exports = mongoose.model("RatingAndReview", ratingAndReviewSchema); -------------------------------------------------------------------------------- /src/reducers/index.js: -------------------------------------------------------------------------------- 1 | import { combineReducers } from "redux"; 2 | import authReducer from '../slices/authSlice' 3 | import cartReducer from "../slices/cartSlice" 4 | import profieReducer from "../slices/profileSlice"; 5 | import loadingBarReducer from "../slices/loadingBarSlice" 6 | import courseReducer from '../slices/courseSlice' 7 | import viewCourseReducer from "../slices/viewCourseSlice"; 8 | 9 | const rootReducer=combineReducers({ 10 | auth:authReducer, 11 | cart:cartReducer, 12 | profile:profieReducer, 13 | loadingBar: loadingBarReducer, 14 | course:courseReducer, 15 | viewCourse:viewCourseReducer, 16 | 17 | }) 18 | 19 | export default rootReducer; -------------------------------------------------------------------------------- /src/Components/core/HomePage/Button.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import { Link } from 'react-router-dom' 3 | import { setProgress } from '../../../slices/loadingBarSlice' 4 | import { useDispatch } from 'react-redux' 5 | 6 | const Button = ({children,active,linkto}) => { 7 | const dispatch = useDispatch(); 8 | return ( 9 | {dispatch(setProgress(100))}} to={linkto}> 10 |
11 | {children} 12 |
13 | 14 | ) 15 | } 16 | 17 | export default Button -------------------------------------------------------------------------------- /src/slices/profileSlice.js: -------------------------------------------------------------------------------- 1 | import { createSlice } from "@reduxjs/toolkit"; 2 | 3 | const initialState ={ 4 | user:localStorage.getItem("user")?JSON.parse(localStorage.getItem("user")):null, 5 | loading:false, 6 | } 7 | 8 | const profileSlice =createSlice({ 9 | name:"profile", 10 | initialState: initialState, 11 | reducers:{ 12 | setUser(state,value){ 13 | state.user=value.payload 14 | localStorage.setItem("user",JSON.stringify(value.payload)); 15 | }, 16 | setLoading(state,value){ 17 | state.loading=value.payload 18 | }, 19 | } 20 | }); 21 | 22 | export const {setUser,setLoading}=profileSlice.actions; 23 | export default profileSlice.reducer; -------------------------------------------------------------------------------- /src/pages/Signup.jsx: -------------------------------------------------------------------------------- 1 | import signupImg from "../assets/Images/signup.webp" 2 | import Template from "../Components/core/Auth/Template" 3 | import { useSelector } from "react-redux"; 4 | 5 | function Signup() { 6 | const {loading} = useSelector((state)=>state.auth); 7 | return ( 8 | loading?(
):( 9 |