Skip to content

ImmerseLearn is an interactive learning platform designed to provide engaging and personalized educational experiences. With seamless user authentication, immersive content, and powerful analytics, it empowers learners to achieve their goals efficiently and enjoyably.

Notifications You must be signed in to change notification settings

mudrabhedi/ImmerseLearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

ImmerseLearn πŸŽ“

Welcome to ImmerseLearn, an engaging platform designed to elevate your learning experience. Dive into interactive courses, track your progress, and connect with a community of passionate learnersβ€”all within a sleek and intuitive interface.


Live Demo 🌐

Check out the live application here:
https://immersi-learn.vercel.app/

Video of working AR in mobile phone: https://drive.google.com/file/d/1EcNvgBglzdzk_SdSGAsHaUUK6VaUYhdh/view?usp=drivesdk


Features ✨

  • Interactive and immersive learning modules
  • User registration and secure login (including Google OAuth)
  • Progress tracking and personalized dashboards
  • Responsive design for desktop and mobile
  • Integration with third-party APIs for enhanced functionality

Technology Stack πŸ› οΈ

  • Frontend: React.js, Vite, Tailwind CSS
  • Backend: Node.js, Express.js, MongoDB, JWT Authentication
  • Third-party Integrations: Google OAuth, Stripe Payments, Gemini API
  • State Management: React Context and custom hooks
  • Build Tools: Vite for fast frontend builds

Project Structure πŸ“

/immerselearn
β”œβ”€β”€ backend
β”‚ β”œβ”€β”€ src
β”‚ β”‚ β”œβ”€β”€ controllers # API request handlers
β”‚ β”‚ β”œβ”€β”€ middleware # Auth and other middleware
β”‚ β”‚ β”œβ”€β”€ models # Mongoose models
β”‚ β”‚ β”œβ”€β”€ routes # Express routes
β”‚ β”‚ └── server.js # Backend entry point
β”‚ β”œβ”€β”€ package.json
β”‚ └── package-lock.json
β”‚
β”œβ”€β”€ frontend
β”‚ β”œβ”€β”€ public # Static assets
β”‚ β”œβ”€β”€ src
β”‚ β”‚ β”œβ”€β”€ components # React UI components
β”‚ β”‚ β”œβ”€β”€ context # React context providers
β”‚ β”‚ β”œβ”€β”€ pages # Full page components
β”‚ β”‚ β”œβ”€β”€ App.jsx # Root component
β”‚ β”‚ └── main.jsx # ReactDOM render entry
β”‚ β”œβ”€β”€ package.json
β”‚ β”œβ”€β”€ vite.config.js
β”‚ β”œβ”€β”€ tailwind.config.js
β”‚ β”œβ”€β”€ postcss.config.js
β”‚ β”œβ”€β”€ eslint.config.js
β”‚ └── package-lock.json
β”‚
β”œβ”€β”€ .gitignore
β”œβ”€β”€ LICENSE
└── README.md

Environment Variables Setup βš™οΈ

Create a .env file in the backend directory with the following variables (replace placeholders):

MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
PORT=5000
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GEMINI_API_KEY=your_gemini_api_key
SESSION_SECRET=your_session_secret

Create a .env file in the frontend directory with (for development):

REACT_APP_API_URL=http://localhost:5000/api/auth

Remember to update the frontend .env when deploying to use your live backend URL.

Getting Started πŸš€

Prerequisites

  • Node.js v14 or newer
  • npm or yarn
  • MongoDB Atlas or local MongoDB instance

Installation

  1. Clone the repository
git clone https://github.com/yourgithub/immerselearn.git
cd immerselearn
  1. Install backend dependencies
cd backend
npm install
  1. Install frontend dependencies
cd ../frontend
npm install
  1. Setup .env files as described above.

  2. Running the Application Backend:

cd backend
npm run build
npm start

Frontend: Open a new terminal window and run:

cd frontend
npm run dev

Access the frontend at http://localhost:5173 (or your configured port).

Usage 🎯

  • Register a new account or log in (email/password or Google OAuth).
  • Access immersive courses and track your progress.
  • Engage with interactive content across devices.
  • Admin users can monitor analytics and user engagement.

Contributing 🀝

Contributions are welcome! Please refer to the CONTRIBUTING.md file for guidelines on how to participate.


License πŸ“„

This project is licensed under the MIT License. See the LICENSE file for details.

About

ImmerseLearn is an interactive learning platform designed to provide engaging and personalized educational experiences. With seamless user authentication, immersive content, and powerful analytics, it empowers learners to achieve their goals efficiently and enjoyably.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published