EduConnect

📚 Full-Stack Mobile Learning Platform (Flutter + Node.js + MongoDB)

EduConnect Screenshot

Project Overview

EduConnect is a comprehensive mobile application 📱 designed to create an intuitive and efficient online learning environment. It showcases full-stack development capabilities, integrating a modern cross-platform mobile frontend with a scalable, secure backend infrastructure. 🔐

🛠️ Technologies Used:

  • Frontend: Flutter (Dart)
  • Backend: Node.js, Express.js
  • Database: MongoDB Atlas ☁️
  • ODM: Mongoose
  • Authentication: JWT 🔑, bcryptjs
  • Environment Management: dotenv
  • HTTP Client: http package
  • Local Storage: shared_preferences
  • CORS Handling: cors middleware

🚀 Key Features & Technical Implementation:

🔐 Robust User Authentication & Authorization:

  • Secure registration and login for "Student" and "Instructor" roles
  • JWT-based token authentication with session management
  • Password hashing with bcryptjs
  • Protected routes with authentication middleware

📘 Dynamic Course Management:

  • Instructors can manage course details (CRUD)
  • Students browse/search courses and view details
  • RESTful API endpoints: /api/courses

📝 Streamlined Course Enrollment:

  • Students enroll and view enrolled courses
  • Backend API endpoint: /api/enrollments

📤 Assignment Submission & Tracking:

  • Submit text-based assignments
  • Track submissions linked to courses

🧠 Interactive Quizzing Module:

  • Instructors create quizzes with correct answers
  • Students take quizzes with instant scoring
  • Endpoints: /api/quizzes, /api/quiz-results

🏗️ Architectural Highlights:

  • RESTful API design using Express.js
  • Clean separation: routes, controllers, models, middleware
  • Flutter structured with screens, widgets, api, models, utils
  • Asynchronous handling with Future and async/await
  • Cloud-based MongoDB Atlas for scalable storage
  • Environment variables managed with dotenv

🐛 Challenges & Solutions:

  • ❗ Null check operator issues in Dart fixed with null-aware operators
  • 🔗 URI Malformation fixed via URL-encoding credentials
  • 📁 .env errors resolved by ensuring correct file loading order
  • 💥 JSON parsing errors handled with try-catch and improved logging

📺 Project Demo Video