"Connect with Expert Tutors, Learn Anything"
SkillBridge is a full-stack web application that connects learners with expert tutors. Students can browse tutor profiles, view availability, and book sessions instantly. Tutors can manage their profiles, set availability, and track their teaching sessions. Admins oversee the platform and manage users.
| Role |
Description |
Key Permissions |
| Student |
Learners who book tutoring sessions |
Browse tutors, book sessions, leave reviews, manage profile |
| Tutor |
Experts who offer tutoring services |
Create profile, set availability, view bookings, manage subjects |
| Admin |
Platform moderators |
Manage all users, view analytics, moderate content |
💡 Note: Users select their role during registration.Admin accounts should be seeded in the database.
🛠️ See README.md for complete technology specifications.
- Browse and search tutors by subject, rating, and price
- Filter tutors by category
- View detailed tutor profiles with reviews
- Landing page with featured tutors
- Register and login as student
- Book tutoring sessions
- View upcoming and past bookings
- Leave reviews after sessions
- Manage profile
- Register and login as tutor
- Create and update tutor profile
- Set availability slots
- View teaching sessions
- See ratings and reviews
- View all users (students and tutors)
- Manage user status (ban/unban)
- View all bookings
- Manage categories
⚠️ Note: These routes are examples. You may add, edit, or remove routes based on your implementation needs.
| Route |
Page |
Description |
/ |
Home |
Hero, search, featured tutors |
/tutors |
Browse Tutors |
List with filters |
/tutors/:id |
Tutor Profile |
Details, reviews, book |
/login |
Login |
Login form |
/register |
Register |
Registration form |
| Route |
Page |
Description |
/dashboard |
Dashboard |
Overview, bookings |
/dashboard/bookings |
My Bookings |
Booking history |
/dashboard/profile |
Profile |
Edit info |
| Route |
Page |
Description |
/tutor/dashboard |
Dashboard |
Sessions, stats |
/tutor/availability |
Availability |
Set time slots |
/tutor/profile |
Profile |
Edit tutor info |
| Route |
Page |
Description |
/admin |
Dashboard |
Statistics |
/admin/users |
Users |
Manage users |
/admin/bookings |
Bookings |
All bookings |
/admin/categories |
Categories |
Manage categories |
Design your own schema for the following tables:
- Users - Store user information and authentication details
- TutorProfiles - Tutor-specific information (linked to Users)
- Categories - Subject categories for tutoring
- Bookings - Session bookings between students and tutors
- Reviews - Student reviews for tutors
💡 Think about what fields each table needs based on the features above.
⚠️ Note: These endpoints are examples. You may add, edit, or remove endpoints based on your implementation needs.
| Method |
Endpoint |
Description |
| POST |
/api/auth/register |
Register new user |
| POST |
/api/auth/login |
Login user |
| GET |
/api/auth/me |
Get current user |
| Method |
Endpoint |
Description |
| GET |
/api/tutors |
Get all tutors with filters |
| GET |
/api/tutors/:id |
Get tutor details |
| GET |
/api/categories |
Get all categories |
| Method |
Endpoint |
Description |
| POST |
/api/bookings |
Create new booking |
| GET |
/api/bookings |
Get user's bookings |
| GET |
/api/bookings/:id |
Get booking details |
| Method |
Endpoint |
Description |
| PUT |
/api/tutor/profile |
Update tutor profile |
| PUT |
/api/tutor/availability |
Update availability |
| Method |
Endpoint |
Description |
| POST |
/api/reviews |
Create review |
| Method |
Endpoint |
Description |
| GET |
/api/admin/users |
Get all users |
| PATCH |
/api/admin/users/:id |
Update user status |
┌──────────────┐
│ Register │
└──────────────┘
│
▼
┌──────────────┐
│Browse Tutors │
└──────────────┘
│
▼
┌──────────────┐
│ View Profile │
└──────────────┘
│
▼
┌──────────────┐
│ Book Session │
└──────────────┘
│
▼
┌──────────────┐
│ Attend │
└──────────────┘
│
▼
┌──────────────┐
│ Leave Review │
└──────────────┘
┌──────────────┐
│ Register │
└──────────────┘
│
▼
┌──────────────┐
│Create Profile│
└──────────────┘
│
▼
┌──────────────┐
│ Set │
│ Availability │
└──────────────┘
│
▼
┌──────────────┐
│View Sessions │
└──────────────┘
│
▼
┌──────────────┐
│Mark Complete │
└──────────────┘
┌──────────────┐
│ CONFIRMED │
│ (instant) │
└──────────────┘
/ \
/ \
(tutor) (student)
marks cancels
/ \
▼ ▼
┌──────────────┐ ┌──────────────┐
│ COMPLETED │ │ CANCELLED │
└──────────────┘ └──────────────┘
📋 See README.md for submission guidelines, timeline, and marks.