How I Built eTuitionBd: A Full-Stack Tuition Management System with React, Node & Stripe
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 seamles
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: https://etuitionbd-7c096.web.app/
- š„ļø Client Repository: https://github.com/AbrarulRhythm/assignment-11-client
- āļø 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! š
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes ā full credit and traffic to the original publisher.