Skip to content

About

my copy of the project

Resources

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

49 Commits

Folders and files

Repository files navigation

πŸ“š Empower Journey – EdTech Platform

Empower Journey is a full-stack MERN (MongoDB, Express.js, React.js, Node.js) based online learning platform that enables global access to courses, providing an interactive and scalable learning experience.


Homepage Screenshot

Aboutpage Screenshot

πŸš€ Features

  • 🌍 Global Course Accessibility – Instructors can upload lectures, videos, and resources with ease.
  • πŸŽ₯ Seamless Video Playback – Optimized for smooth streaming and better engagement.
  • πŸ‘©β€πŸ« Instructor Dashboard – Manage courses, upload resources.
  • πŸ‘¨β€πŸŽ“ Student Dashboard – Enroll in courses, view lectures.
  • πŸ” Secure Authentication & Authorization – Role-based access for students and instructors.
  • πŸ“ˆ Scalable Architecture – Built to handle a growing user base and course library.
  • πŸ’¬ Enhanced Interaction – Improved student-instructor communication for an engaging experience.
  • 🎨 UI/UX Focused Design – Clean and intuitive interface for better usability.

πŸ› οΈ Tech Stack

  • Frontend: React.js, Tailwind CSS
  • Backend: Node.js, Express.js
  • Database: MongoDB (Mongoose ODM)
  • Authentication: JWT, bcrypt
  • Video Handling: Cloudinary

πŸ“‚ Project Structure

πŸ“¦ Empower-Journey
β”œβ”€ backend
β”‚  β”œβ”€ .env.example
β”‚  β”œβ”€ .gitignore
β”‚  β”œβ”€ config
β”‚  β”‚  β”œβ”€ cloudinary.js
β”‚  β”‚  └─ database.js
β”‚  β”œβ”€ controller
β”‚  β”‚  β”œβ”€ AssignCourse.js
β”‚  β”‚  β”œβ”€ Auth.js
β”‚  β”‚  β”œβ”€ Category.js
β”‚  β”‚  β”œβ”€ Course.js
β”‚  β”‚  β”œβ”€ FAQ.js
β”‚  β”‚  β”œβ”€ RatingAndReview.js
β”‚  β”‚  β”œβ”€ Section.js
β”‚  β”‚  β”œβ”€ SubSection.js
β”‚  β”‚  β”œβ”€ Tag.js
β”‚  β”‚  └─ User.js
β”‚  β”œβ”€ index.js
β”‚  β”œβ”€ middleware
β”‚  β”‚  β”œβ”€ Auth.js
β”‚  β”‚  β”œβ”€ authCourse.js
β”‚  β”‚  └─ multer.js
β”‚  β”œβ”€ model
β”‚  β”‚  β”œβ”€ Category.js
β”‚  β”‚  β”œβ”€ Course.js
β”‚  β”‚  β”œβ”€ CourseProgress.js
β”‚  β”‚  β”œβ”€ FrequentlyAskedQuestions.js
β”‚  β”‚  β”œβ”€ OTP.js
β”‚  β”‚  β”œβ”€ RatingAndReview.js
β”‚  β”‚  β”œβ”€ Section.js
β”‚  β”‚  β”œβ”€ SubSection.js
β”‚  β”‚  β”œβ”€ Tag.js
β”‚  β”‚  └─ User.js
β”‚  β”œβ”€ package-lock.json
β”‚  β”œβ”€ package.json
β”‚  β”œβ”€ public
β”‚  β”‚  └─ temp
β”‚  β”‚     β”œβ”€ .gitkeep
β”‚  β”‚     └─ java.jpg
β”‚  β”œβ”€ routes
β”‚  β”‚  β”œβ”€ auth.js
β”‚  β”‚  β”œβ”€ course.js
β”‚  β”‚  β”œβ”€ faq.js
β”‚  β”‚  β”œβ”€ ratingAndReview.js
β”‚  β”‚  β”œβ”€ section.js
β”‚  β”‚  β”œβ”€ subSection.js
β”‚  β”‚  β”œβ”€ tag.js
β”‚  β”‚  └─ user.js
β”‚  └─ utils
β”‚     β”œβ”€ cloudinary.js
β”‚     β”œβ”€ errorHandler.js
β”‚     β”œβ”€ imageUploader.js
β”‚     β”œβ”€ nodemailer.js
β”‚     └─ secToDuration.js
β”œβ”€ frontend
β”‚  β”œβ”€ .env
β”‚  β”œβ”€ .gitignore
β”‚  β”œβ”€ README.md
β”‚  β”œβ”€ data
β”‚  β”‚  └─ dashboard-links.js
β”‚  β”œβ”€ eslint.config.js
β”‚  β”œβ”€ index.html
β”‚  β”œβ”€ package-lock.json
β”‚  β”œβ”€ package.json
β”‚  β”œβ”€ postcss.config.js
β”‚  β”œβ”€ public
β”‚  β”‚  └─ vite.svg
β”‚  β”œβ”€ src
β”‚  β”‚  β”œβ”€ App.css
β”‚  β”‚  β”œβ”€ App.jsx
β”‚  β”‚  β”œβ”€ assets
β”‚  β”‚  β”‚  β”œβ”€ background.avif
β”‚  β”‚  β”‚  └─ react.svg
β”‚  β”‚  β”œβ”€ components
β”‚  β”‚  β”‚  β”œβ”€ Auth
β”‚  β”‚  β”‚  β”‚  β”œβ”€ OpenRoute.jsx
β”‚  β”‚  β”‚  β”‚  └─ PrivateRoute.jsx
β”‚  β”‚  β”‚  β”œβ”€ Catalog
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CourseSlider.jsx
β”‚  β”‚  β”‚  β”‚  └─ Course_Card.jsx
β”‚  β”‚  β”‚  β”œβ”€ ConfirmationModal.jsx
β”‚  β”‚  β”‚  β”œβ”€ Course
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CourseAccordionBar.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CourseDetailsCard.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CoursePage.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CoursePageAccordingToTag.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CourseSubSectionAccordion.jsx
β”‚  β”‚  β”‚  β”‚  └─ images
β”‚  β”‚  β”‚  β”‚     └─ python.jpg
β”‚  β”‚  β”‚  β”œβ”€ Navbar.jsx
β”‚  β”‚  β”‚  β”œβ”€ OtpInput.jsx
β”‚  β”‚  β”‚  β”œβ”€ RatingStars.jsx
β”‚  β”‚  β”‚  β”œβ”€ Signin.jsx
β”‚  β”‚  β”‚  β”œβ”€ Signup.jsx
β”‚  β”‚  β”‚  β”œβ”€ ViewCourse
β”‚  β”‚  β”‚  β”‚  β”œβ”€ CourseReviewModal.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ VideoDetails.jsx
β”‚  β”‚  β”‚  β”‚  └─ VideoDetailsSidebar.jsx
β”‚  β”‚  β”‚  β”œβ”€ about
β”‚  β”‚  β”‚  β”‚  └─ AboutSection.jsx
β”‚  β”‚  β”‚  β”œβ”€ button
β”‚  β”‚  β”‚  β”‚  β”œβ”€ IconBtn.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ LeftButton.jsx
β”‚  β”‚  β”‚  β”‚  └─ RightButton.jsx
β”‚  β”‚  β”‚  β”œβ”€ dashboard
β”‚  β”‚  β”‚  β”‚  β”œβ”€ AddCourse
β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ CourseBuilder
β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ CourseBuilderForm.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ NestedView.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  └─ SubSectionModal.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ CourseInformation
β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ ChipInput.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ CourseInformationForm.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  └─ RequirementField.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ PublishCourse
β”‚  β”‚  β”‚  β”‚  β”‚  β”‚  └─ index.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ RenderSteps.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ Upload.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  └─ index.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ Cart
β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ RenderCartCourses.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  β”œβ”€ RenderTotalAmount.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  └─ index.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ EditCourse.jsx
β”‚  β”‚  β”‚  β”‚  β”‚  └─ EditCourse.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ EnrolledCourses.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ InstructorCourses
β”‚  β”‚  β”‚  β”‚  β”‚  └─ CoursesTable.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ MyCourses.jsx
β”‚  β”‚  β”‚  β”‚  β”œβ”€ MyProfile.jsx
β”‚  β”‚  β”‚  β”‚  └─ Sidebar.jsx
β”‚  β”‚  β”‚  └─ home
β”‚  β”‚  β”‚     β”œβ”€ AnimatedFeatures.jsx
β”‚  β”‚  β”‚     β”œβ”€ Card.jsx
β”‚  β”‚  β”‚     β”œβ”€ CodeBlocks.jsx
β”‚  β”‚  β”‚     β”œβ”€ Footer.jsx
β”‚  β”‚  β”‚     β”œβ”€ HeroSection.jsx
β”‚  β”‚  β”‚     β”œβ”€ UserMenu.jsx
β”‚  β”‚  β”‚     └─ images
β”‚  β”‚  β”‚        β”œβ”€ homepage.png
β”‚  β”‚  β”‚        └─ landing page.png
β”‚  β”‚  β”œβ”€ images
β”‚  β”‚  β”‚  β”œβ”€ Logo.webp
β”‚  β”‚  β”‚  β”œβ”€ about
β”‚  β”‚  β”‚  β”‚  β”œβ”€ notes.jpg
β”‚  β”‚  β”‚  β”‚  β”œβ”€ study.jpg
β”‚  β”‚  β”‚  β”‚  β”œβ”€ teamCollaboration.jpg
β”‚  β”‚  β”‚  β”‚  └─ working.jpg
β”‚  β”‚  β”‚  └─ contact
β”‚  β”‚  β”‚     └─ employeesHelpingCustomers.svg
β”‚  β”‚  β”œβ”€ index.css
β”‚  β”‚  β”œβ”€ main.jsx
β”‚  β”‚  β”œβ”€ pages
β”‚  β”‚  β”‚  β”œβ”€ About.jsx
β”‚  β”‚  β”‚  β”œβ”€ Catalog.jsx
β”‚  β”‚  β”‚  β”œβ”€ Contact.jsx
β”‚  β”‚  β”‚  β”œβ”€ CourseDetails.jsx
β”‚  β”‚  β”‚  β”œβ”€ Error.jsx
β”‚  β”‚  β”‚  β”œβ”€ Home.jsx
β”‚  β”‚  β”‚  β”œβ”€ ProfileDashboard.jsx
β”‚  β”‚  β”‚  └─ ViewCourse.jsx
β”‚  β”‚  β”œβ”€ reducers
β”‚  β”‚  β”‚  └─ index.js
β”‚  β”‚  β”œβ”€ services
β”‚  β”‚  β”‚  β”œβ”€ apiConnector.js
β”‚  β”‚  β”‚  β”œβ”€ apis.js
β”‚  β”‚  β”‚  β”œβ”€ formatDate.js
β”‚  β”‚  β”‚  └─ operations
β”‚  β”‚  β”‚     β”œβ”€ SettingsAPI.js
β”‚  β”‚  β”‚     β”œβ”€ authAPI.js
β”‚  β”‚  β”‚     β”œβ”€ courseDetailsAPI.js
β”‚  β”‚  β”‚     β”œβ”€ pageAndComponentData.js
β”‚  β”‚  β”‚     β”œβ”€ profileAPI.js
β”‚  β”‚  β”‚     └─ studentFeaturesAPI.js
β”‚  β”‚  └─ slices
β”‚  β”‚     β”œβ”€ authSlice.js
β”‚  β”‚     β”œβ”€ cartSlice.js
β”‚  β”‚     β”œβ”€ courseSlice.js
β”‚  β”‚     β”œβ”€ profileSlice.js
β”‚  β”‚     └─ viewCourseSlice.js
β”‚  β”œβ”€ tailwind.config.js
β”‚  β”œβ”€ utils
β”‚  β”‚  β”œβ”€ avgRating.js
β”‚  β”‚  └─ constants.js
β”‚  └─ vite.config.js
└─ package-lock.json


⚑ Getting Started

πŸ”§ Installation

  1. Clone the repository

    git clone https://github.com/MdNadimUddin01/Empower-Journey
    cd Empower-Journey
  2. Install dependencies

    # For backend
    cd backend
    npm install
    
    # For frontend
    cd frontend
    npm install
  3. Run the development servers

    # Start backend
    cd backend
    npm run dev
    
    # Start frontend
    cd frontend
    npm run dev

About

my copy of the project

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages