EduConnect is a MERN stack powered role‑based tuition management platform. It features three separate dashboards — Student, Tutor, and Admin. User login and registration are handled through Firebase Authentication, followed by JWT authentication and role‑based access control to provide tailored functionality for each user. Stripe payment integration and a modern UI design make this project even more powerful and user‑friendly.
The purpose of EduConnect is to build a comprehensive digital platform for managing tuition services. It connects students seeking tuition, tutors offering teaching expertise, and admins supervising the system — all brought together in a secure, scalable, and user‑friendly environment.
This platform offers three distinct role‑based dashboards — Student, Tutor, and Admin — each designed with tailored features:
-
Students
Empowered to manage their learning journey by:- Creating new tuition posts (Add Tuition)
- Tracking and managing their own tuition posts (My Tuitions Post)
- Reviewing tutors who applied to their posts (Applied Tutors)
- Monitoring payment history (Payment History)
-
Tutors
Equipped with tools to manage teaching opportunities:- Viewing and tracking their applications (My Applications)
- Viewing ongoing tuitions (Ongoing Tuitions)
- Reviewing revenue history (Revenue History)
-
Admins
Provided with full control to oversee the platform:- Managing all users (User Management)
- Approving or rejecting tuition posts (Tuition Management)
- Accessing reports and analytics (Reports & Analytics)
- JWT authentication with secure role‑based access
- Stripe payment integration
- Data visualization & analytics with Recharts, used in the Admin Dashboard to display platform statistics.
- Role‑based dashboards (Student, Tutor, Admin)
- Real‑time feedback system with SweetAlert2 and Toast libraries
- Interactive UI with Framer Motion and Swiper
- React.js (Component‑based UI)
- TailwindCSS (Utility‑first styling)
- Recharts (Data visualization)
- Framer Motion (Animations)
- SweetAlert2 & React‑Toastify (User feedback system)
- Node.js & Express.js (REST API development)
- MongoDB (Database with multi‑collection schema)
- Firebase Authentication (User login & registration)
- JWT (Secure session management & role‑based access)
- Stripe (Online payment processing)
- Axios (HTTP requests)
- TanStack Query (Data fetching & caching)
- Vite (Fast development build tool)
git clone https://github.com/Islamul-Hoque/Edu-Connect-client.git
cd EduConnect-client
git clone https://github.com/Islamul-Hoque/Edu-Connect-server.git
cd EduConnect-server
npm install
VITE_apiKey = Firebase API key
VITE_authDomain = Firebase auth domain
VITE_projectId = Firebase project ID
VITE_storageBucket = Firebase storage bucket
VITE_messagingSenderId = Firebase messaging sender ID
VITE_appId = Firebase app ID
VITE_image_host_key = Image hosting API key
DB_USER = MongoDB database user
DB_PASS = MongoDB database password
STRIPE_SECRET = Stripe secret key
SITE_DOMAIN = Deployed site domain
JWT_SECRET = Secret key for JWT authentication
Backend:
nodemon index.js
Frontend:
npm run dev
Frontend → http://localhost:5173
Backend API → http://localhost:3000
bash npm run build
npm start
- Deploy on Firebase Hosting (recommended for seamless integration with Firebase services)
- Or use Netlify (optional alternative for static hosting + CI/CD)
- Deploy on Vercel (serverless functions, GitHub integration for auto deploys)
- Alternative: Render / Railway / Cyclic (for full Node.js server hosting with MongoDB support)
Islamul Hoque
MERN Stack Web Developer
Location: Chattogram, Bangladesh
Email: islamulhoque2006@gmail.com
🔗 Social Links: