How thesuhriday7/communityhub-opensource works
CommunityHub is a MERN learning-content platform: members discover courses, authenticate, purchase/enroll, study course sections, and submit ratings; instructors create and manage courses and review dashboard insights. The graph separates client workflows, server domains, persistence, and integrations. README capabilities supplement the sampled code; details of unsampled route/controller wiring are represented only where the server entry point documents route mounting.
Main entry points: App.jsx Web app routes · courseDetailsAPI.js API operations · index.js API server · Course.js Course records
Components 25
Member application
- Web app routes
src/App.jsx - Course discovery
src/pages/Catalog.jsx - Course details
src/pages/CourseDetails.jsx - Cart checkout
src/components/core/Dashboard/Cart/index.jsx - Course player
src/pages/ViewCourse.jsx - Course management
src/components/core/Dashboard/AddCourse/index.jsx - Instructor insights
src/components/core/Dashboard/InstructorDashboard/Instructor.jsx - Account workflows
src/components/core/Auth/SignupForm.jsx - API operations
src/services/operations/courseDetailsAPI.js
Platform API
- API server
Server/index.js - Authentication
Server/controllers/Auth.js - Course domain
Server/controllers/Course.js - Payment and enrollment
Server/controllers/Payments.js - Profile domain
Server/controllers/Profile.js - Ratings and reviews
Server/controllers/RatingAndReview.js - Learning progress
Server/controllers/courseProgress.js
Persistent domain
- MongoDB
Server/config/database.js - Course records
Server/models/Course.js - User records
Server/models/User.js - Review records
Server/models/RatingAndReview.js
External services
- Cloudinary media
Server/config/cloudinary.js - Razorpay
Server/config/razorpay.js - Email delivery
Server/utils/mailSender.js
Other components
- Member
- Instructor
Connections 35
- Member → Web app routes: uses
- Instructor → Web app routes: uses
- Web app routes → Course discovery: opens
- Web app routes → Course details: opens
- Web app routes → Cart checkout: opens
- Web app routes → Course player: opens
- Web app routes → Course management: opens
- Web app routes → Instructor insights: opens
- Web app routes → Account workflows: opens
- Course discovery → API operations: requests courses
- Course details → API operations: requests details
- Cart checkout → API operations: requests checkout
- Course player → API operations: requests content
- Course management → API operations: requests mutations
- Instructor insights → API operations: requests insights
- Account workflows → API operations: requests account
- API operations → API server: HTTP requests
- API server → Authentication: mounts auth routes
- API server → Course domain: mounts course routes
- API server → Payment and enrollment: mounts payment routes
- API server → Profile domain: mounts profile routes
- Course domain → Course records: reads and writes
- Payment and enrollment → Course records: enrolls learners
- Payment and enrollment → Razorpay: processes payment
- Authentication → User records: reads and writes
- Profile domain → User records: reads and writes
- Course domain → Cloudinary media: uploads media
- Payment and enrollment → Email delivery: sends enrollment email
- Course domain → Ratings and reviews: rating endpoints
- Ratings and reviews → Review records: reads and writes
- Ratings and reviews → Course records: links review
- Learning progress → Course records: tracks completion
- MongoDB → Course records: stores
- MongoDB → User records: stores
- MongoDB → Review records: stores