-
-
Student can submit a new doubt with subject, title, description, and attachments. Designed for simple and responsive doubt creation.
-
New user registration with role selection, name, email, and password. Password strength indicator and OTP verification after signup.
-
Displays doubts, status tracking, filters, and summary statistics. Includes quick access to Post Doubt and Knowledge Base.
-
Public searchable list of resolved doubts and answers.Helps users find previously answered questions quickly.
-
Lists open doubts, claimed doubts, and resolved doubts. Tutors can claim doubts and submit solutions directly from this screen.
-
Student can submit a new doubt with subject, title, description, and attachments. Designed for simple and responsive doubt creation.
-
Shows platform statistics, user management, subject management, and recent activity.Admin can approve, reject, deactivate, or delete users.
-
Login form with email and password fields.OTP verification flow is supported when email verification is required.
-
Shows platform introduction, hero section, and main call-to-action buttons.Entry points for Login, Register, and Knowledge Base.
Inspiration
The persistent gap between student curiosity and accessible, quality academic assistance. Often, students struggle to find verified, accurate answers to complex academic queries in a timely manner, relying on unreliable open forums. We wanted to build a centralized, curated "Intelligence Layer" for academic success—a professional environment where students can post doubts, verified faculty members can provide rigorous explanations, and every answered question contributes to a lasting, searchable academic repository.
What it does
Tutorify is a comprehensive, full-stack academic doubt management platform that operates on a triple-role ecosystem:
- Students: Can post detailed academic queries specifying subjects, track their doubt's status (Open, Claimed, Resolved), and view detailed faculty feedback.
- Faculty (Verified Mentors): Can browse a queue of open doubts, claim specific questions to prevent overlap, and provide in-depth, verified answers.
- Admins: Have system-wide oversight, a high-fidelity analytics dashboard, and the ability to manage users, doubts, and subjects. Beyond the private dashboard, Tutorify features a public Knowledge Base—a fast, searchable repository of all previously resolved doubts that acts as a scalable academic wiki for everyone.
How we built it
We engineered Tutorify using the MERN stack for a robust, full-JavaScript environment:
- Frontend: Built with React 18 and Vite for blazing-fast performance. We utilized Tailwind CSS to craft a highly responsive, premium UI ("The Academic Curator" theme) featuring glassmorphism and modern typography. State management is handled via the Context API, with Lucide React for iconography and React Router for secure navigation.
- Backend: Powered by a Node.js and Express.js RESTful API featuring over 20 optimized endpoints.
- Database: Hosted on MongoDB Atlas with Mongoose. We implemented advanced MongoDB compound text indexing on the title and description fields to power the Knowledge Base search engine.
- Architecture & Security: Secured via JWT-based authentication (with interceptors in Axios), bcryptjs for secure password hashing, and strict Role-Based Access Control (RBAC) middleware securing both the frontend views and backend API routes.
Challenges we ran into
- Role-Based Access Control (RBAC): Ensuring strict boundaries across the three user roles (Student, Faculty, Admin). It was complex to synchronize state so that users only saw what their specific permissions allowed (e.g., faculty only answering doubts they explicitly claimed, students only viewing their personal doubt history).
- Search Optimization at Scale: Building a Knowledge Base search feature that could parse through potentially thousands of resolved doubts without lagging the database. We overcame this by implementing MongoDB text indexes on the backend and deploying custom debounce logic (500ms delay) on the frontend React components to prevent API spamming.
- State Synchronization: Handling the complex lifecycle of a "Doubt" (from OPEN to CLAIMED to RESOLVED ) while maintaining accurate UI states without requiring manual page reloads.
Accomplishments that we're proud of
- Production-Ready Quality: Delivering a complete, highly secure system with full input validation, error handling, password hashing, and JWT integration in a short timeframe.
- Premium UX/UI: Moving away from generic designs to build an interface that feels incredibly professional, inviting, and academically rigorous, which drastically improves user trust and engagement.
- The Knowledge Base Engine: Successfully turning private, one-off interactions into a public good. The incredibly fast, debounced global search turns the platform into a true academic asset that grows more valuable with every answered question.
What we learned
- The intricacies of structuring a scalable Mongoose schema using ObjectId refs to seamlessly link Users, Subjects, and Doubts.
- How to effectively implement Debouncing and MongoDB Text Indexes to drastically improve application performance and reduce server load during search operations.
- The importance of designing a clean, robust API architecture where middleware handles the heavy lifting of authentication matching and role verification.
What's next for Tutorify
- Real-time Collaboration: Integrating WebSockets ( Socket.io ) to enable live chat and immediate push notifications when a doubt's status changes or an answer is posted.
- AI-Powered Triaging: Implementing an LLM agent capable of instantly analyzing a student's question and suggesting similar resolved cases from our Knowledge Base before it even reaches a faculty member's queue.
- Rich Media and File Uploads: Allowing students to upload images of their textbook problems directly via cloud storage integrations (like AWS S3 or Supabase).
- Mobile Ecosystem: Expanding the web platform natively using React Native to provide truly on-the-go academic support for students.
Built With
- bcrypt
- express.js
- javascript
- jwt
- mongodb
- mongodb-atlas
- mongoose
- node.js
- react
- render
- tailwind-css
- vercel
- vite
Log in or sign up for Devpost to join the conversation.