https://github.com/ahmed-maher77/educonnect___online-learning-management-system
EduConnect is an online learning management system that enhances classrooms with interactive lessons, quizzes, progress tracking, real-time chat, and continuous feedback to create a dynamic learning experience. It also offers multilingual support (Arabic & English) and light/dark theme options for accessibility and personalization.
https://github.com/ahmed-maher77/educonnect___online-learning-management-system
accessibility chatroom classroom-management educational-purposes express-js feedback-system interactive-lessons learning-experience learning-management-system light-dark-mode multilanguage-support mysql-database nodejs online-classes online-classroom progress-tracking quiz-application quizzes reactjs realtime-chat
Last synced: 28 days ago
JSON representation
EduConnect is an online learning management system that enhances classrooms with interactive lessons, quizzes, progress tracking, real-time chat, and continuous feedback to create a dynamic learning experience. It also offers multilingual support (Arabic & English) and light/dark theme options for accessibility and personalization.
- Host: GitHub
- URL: https://github.com/ahmed-maher77/educonnect___online-learning-management-system
- Owner: Ahmed-Maher77
- License: mit
- Created: 2025-09-16T14:39:00.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-09-19T04:48:28.000Z (29 days ago)
- Last Synced: 2025-09-19T06:38:32.098Z (28 days ago)
- Topics: accessibility, chatroom, classroom-management, educational-purposes, express-js, feedback-system, interactive-lessons, learning-experience, learning-management-system, light-dark-mode, multilanguage-support, mysql-database, nodejs, online-classes, online-classroom, progress-tracking, quiz-application, quizzes, reactjs, realtime-chat
- Language: TypeScript
- Homepage: https://educonnect-chi.vercel.app
- Size: 8.19 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EduConnect – online learning management system (Full-Stack)
EduConnect is an **online learning management system** that enhances classrooms with interactive lessons, quizzes, progress tracking, real-time chat, and continuous feedback to create a dynamic learning experience. It also offers multilingual support (Arabic & English) and light/dark theme options for accessibility and personalization.
---
## 🌐 Live Preview
👀 **Watch Live Demo:** [https://educonnect-chi.vercel.app](https://educonnect-chi.vercel.app/)
---
## 🎥 Demo Video
📺 **Watch the Demo on LinkedIn:** [coming soon]()
---
## 💻 Used Technologies
### Frontend
- **React.js** – Modern SPA framework for building dynamic, interactive, responsive interfaces.
- **TypeScript** – Type-safe development for scalability and reliability.
- **Redux Toolkit** – Efficient state management across the app.
- **React Router DOM** – Seamless client-side routing and navigation.
- **Framer Motion** – Smooth animations and transitions.
- **Formik + Yup** – Robust form handling and validation.
- **Swiper** – Modern touch slider for lessons and media.
- **FontAwesome** – Rich icon set for UI enhancement.
### Styling
- **Tailwind CSS** – Utility-first CSS framework for responsive and customizable design.
- **SASS/SCSS** – Structured and maintainable styling with variables, nesting, placeholders and mixins.
### Backend
- **Node.js + Express.js** – RESTful API server for business logic and routing.
- **MySQL2** – Relational database management.
- **JWT (jsonwebtoken)** – Secure authentication with token-based sessions.
- **Bcrypt** – Password hashing for strong security.
### Development Tools
- **Vite** – Fast build tool and development server.
- **ESLint + TypeScript ESLint** – Code quality and linting.
### Hosting
- Deployed on **Vercel** for fast, reliable hosting.---
## ✨ Key Features
### 👨🏫 For Teachers
- Create and manage classes with unique IDs, images, and statistics
- Approve or reject student join requests
- Build advanced quizzes:
- Timed/untimed, single/multiple answers
- Add hints, explanations, images, videos, code, and equations
- Export quizzes with answers to PDF/print
- Upload and manage lessons (videos, PDFs, articles, references)
- Manage real-time classroom chat (ban/remove users)
- Track student performance: quiz results, lesson activity, and reactions
- Receive ratings for classes and build a professional teacher profile
### 👨🎓 For Students
- Multi-step registration with OTP, social logins, and third-party login
- Join classes by ID/name with teacher approval
- Take interactive quizzes with progress tracking
- Review past quizzes with answers, feedback, and downloadable PDFs
- Engage with lessons through comments, reactions, and favorites
- Participate in real-time class chat (edit/delete own messages)
- Rate and review teachers and classes
- Switch between English and Arabic language options
### 🛠️ For Administrators
- Manage teachers, students, classes, quizzes, and lessons
- Role management: Main Admin vs Assistant Admin
- Handle complaints and user feedback
- Access platform-wide analytics and reports
### 🌍 Platform-Wide Features
- **Security**: JWT authentication & bcrypt password hashing
- **Themes**: Light/Dark mode support
- **Multilingual**: English and Arabic
- **PWA**: Installable on desktop and mobile
- **Notifications**: Real-time alerts for quizzes, results, join requests, and chats
- **Analytics**: Flowcharts for students, teachers, classes, and lessons
- **Rich Text Editor**: For lessons and articles
- **Advanced Filtering**: Pagination for teachers, classes, and lessons
- **Best Teachers Section**: Highlight top-rated instructors
- **Accessibility**: WCAG 2.1 AA compliant responsive design---
## 📥 Installation Instructions for Local Setup
```bash
# Clone the repository
git clone https://github.com/Ahmed-Maher77/EduConnect___Online-Learning-Management-System.git
cd EduConnect___Online-Learning-Management-System# Run frontend (Vite)
cd frontend - clientSide
npm install
npm run dev# Run backend (Node.js + Express)
cd backend - serverSide
npm install
npm start
```
---## 📬 Contact & Contribution
- 🧑💻 **Portfolio:** https://ahmedmaher-portfolio.vercel.app/
- 🔗 **LinkedIn:** https://www.linkedin.com/in/ahmed-maher-algohary
- 📧 **Email:** ahmedmaher.dev1@gmail.com> Contributions, suggestions, and bug reports are welcome. Feel free to open issues or pull requests.
---
## ⭐ Support
If you found this project helpful or inspiring, please consider giving it a ⭐. Your support helps me grow and share more open-source projects like this!