Repository files navigation Collaborative Study Platform
Live Site URL
JWT-based authentication and secure token storage in local storage.
Role-based access control for Students, Tutors, and Admins.
Responsive design for mobile, tablet, and desktop views.
Separate dashboards for Students, Tutors, and Admins with tailored features.
Paginated views for efficient data display (e.g., study sessions and user lists).
CRUD operations with toast notifications and no default browser alerts.
Firebase and MongoDB credentials are securely hidden using environment variables.
No lorem ipsum text; all content is meaningful and contextually relevant.
Integrated TanStack Query for all GET data fetching functionality.
Users redirected to the intended page after login when accessing private routes.
Authentication & Authorization
User Registration: Supports Students, Tutors, and Admins with photo uploads.
Social Login: Google and GitHub integration (defaults to Student role for social logins).
Middleware: Ensures only authorized users access protected routes.
Sections:
Navbar
Banner Section
Study Sessions Section
Tutor Section
Footer
Navbar: Dynamic content based on authentication status (Login/Sign-up or Profile/Logout).
Study Sessions Section:
Displays 6 cards with pagination.
Buttons for "Ongoing" or "Closed" sessions based on registration period.
Read More button redirects users to session details.
Session Details:
Title, Tutor, Average Rating, Description, Dates, Duration, Fee, Reviews, and Book Now button.
Free sessions booked directly; paid sessions proceed to payment.
View Booked Sessions: Detailed session info with review and rating option.
Create Notes: Form for title and description; notes saved to database.
Manage Notes: Update and delete personal notes.
View Study Materials: Access materials by booked sessions with download and external link options.
Create Study Session: Form with fields for session details (e.g., dates, duration, and description).
View All Study Sessions: Paginated list of tutor's sessions with statuses (Pending, Approved, Rejected).
Upload Materials: Add images and links for approved sessions.
View All Materials: Manage uploaded materials with update and delete options.
View All Users: List of users with search functionality by name or email; update roles.
View All Study Sessions:
Approve, reject, update, or delete sessions.
Modal for rejection reasons and feedback.
View All Materials: Review and remove inappropriate content.
Integrated TanStack Query for all GET requests.
Paginated views on two different pages.
JWT implementation with secure local storage.
Modal popups for session rejection and feedback collection.
Frontend: React, TailwindCSS
Backend: Node.js, Express.js
Database: MongoDB
Authentication: Firebase, JWT
File Hosting: ImgBB for image uploads
Payment Gateway: Stripe
Clone the repository: git clone https://github.com/username/repository-name.git
Install dependencies:
cd client
npm install
cd ../server
npm install
You can’t perform that action at this time.