Hey Dev Community! 👋
Six months ago, I completed a major milestone in my Web Development journey — building eTuitionBd, a comprehensive Tuition Management System designed to connect verified tutors with students seamlessly.
Today, I wanted to share the story, architecture, and tech stack behind this project! 🚀
🧐 What is eTuitionBd?
Finding trusted tutors or legitimate tuition posts in Bangladesh can often be a hassle. eTuitionBd solves this friction by providing a transparent, role-based platform for class tracking, secure payments, and structured verification.
✨ Key Features & User Roles
1. 🎓 Student Dashboard
- Post tuition requirements (Subject, Budget, Location).
- Manage applications from different tutors.
- Securely hire tutors by making payments via Stripe.
2. 👨🏫 Tutor Dashboard
- Browse and search tuitions using advanced filtering (Subject, Class, Budget, Gender).
- Track application statuses in real-time.
- View active tuitions and revenue history.
3. 🛡️ Admin Dashboard
- Centralized user management (Role updates and deletions).
- Tuition post moderation and analytics.
🔐 Security & Core Functionalities
Authentication: Firebase Auth (Google Social Login + Email/Password) paired with JWT (JSON Web Token) for strict role-based access control and protected routes.
Automated Workflow: Real-time application updates (Pending → Approved / Rejected / Closed).
Stripe Payments: A tutor is officially marked as "Approved" only after the student completes the salary payment via Stripe.
💻 Tech Stack Behind the Project
Frontend: React.js, Tailwind CSS, DaisyUI, Framer Motion
Backend: Node.js, Express.js
Database: MongoDB
Authentication & State: Firebase, JWT, TanStack Query (React Query)- **Payment Processing: **Stripe API
Deployment: Firebase (Client) & Vercel (Server)
🔗 Explore the Project
🌐 Live Demo:
⚙️ Server Repository: https://github.com/AbrarulRhythm/assignment-11-server
💡 What I Learned From Building This
Building eTuitionBd taught me how to handle complex backend logic, integrate payment gateways securely, and manage role-based state on the frontend using TanStack Query.
I’d love to hear your thoughts, feedback, or suggestions on how I can improve it further! Drop a comment below! 👇
SOCIAL SHARE CARD GENERATOR