How praveenkumarsuggula/click2learn works
Click2Learn is a browser-based course-learning and purchasing application. Students enter through the Angular client, authenticate through its authentication service and backend, browse courses, and manage a cart; the README also describes secure payment, though no payment implementation appears in the supplied tree. The repository contains a separate ASP.NET Core identity/data-service setup, including startup seeding. Edges reflect shown calls, imports, or documented capabilities; course retrieval, checkout, and payment wiring are not established by the sampled evidence.
Main entry points: app-routing.module.ts App routing · FunctionalSvc.cs User seeding service · DbContextInitializer.cs Database initializer · ApplicationDbContext.cs Application context
Components 27
Student client
- Angular app
click2LearnInstructorClient/src/app/app.module.ts - App routing
click2LearnInstructorClient/src/app/app-routing.module.ts - Login
click2LearnInstructorClient/src/app/login/login.component.ts - Auth guard
click2LearnInstructorClient/src/app/services/AuthGuard/auth-guard.service.ts - Authentication service
click2LearnInstructorClient/src/app/services/authentiication/authentication.service.ts - OTP verification
click2LearnInstructorClient/src/app/otp-verification-modal/otp-verification-modal.component.ts - Dashboard
click2LearnInstructorClient/src/app/dashboard/dashboard.component.ts - Course browsing
click2LearnInstructorClient/src/app/courses/courses.component.ts - Course shop
click2LearnInstructorClient/src/app/sidebar/shop/shop.component.ts - Cart state
click2LearnInstructorClient/src/app/services/cart.service.ts - Cart view
click2LearnInstructorClient/src/app/sidebar/cart/cart.component.ts
Node authentication backend
- Node API
click2LearnBackend/index.js - User routes
click2LearnBackend/routes/user.js - User controller
click2LearnBackend/controller/user.js - User model
click2LearnBackend/models/user.js - MongoDB
click2LearnBackend/database.js
ASP.NET identity services
- ASP.NET startup
click2learnserver/click2learnserver/Program.cs - Database initializer
click2learnserver/DataService/DbContextInitializer.cs - User seeding service
click2learnserver/FunctionalService/FunctionalSvc.cs - Identity options
click2learnserver/ModelService/AdminUserOptions.cs - Customer options
click2learnserver/ModelService/AppUserOptions.cs
Identity data
- Application context
click2learnserver/DataService/ApplicationDbContext.cs - Protection-key context
click2learnserver/DataService/DataProtectionKeysContext.cs - Application user
click2learnserver/ModelService/ApplicationUser.cs - User address
click2learnserver/ModelService/AddressModel.cs
Other components
- Student
- Secure payment gateway
Connections 33
- Student → Angular app: uses
click2LearnInstructorClient/src/app/app.module.ts - Angular app → App routing: registers
click2LearnInstructorClient/src/app/app.module.ts - App routing → Login: routes to
click2LearnInstructorClient/src/app/app-routing.module.ts - App routing → Dashboard: routes to
click2LearnInstructorClient/src/app/app-routing.module.ts - App routing → Course browsing: routes to
click2LearnInstructorClient/src/app/app-routing.module.ts - App routing → Course shop: routes to
click2LearnInstructorClient/src/app/app-routing.module.ts - App routing → Cart view: routes to
click2LearnInstructorClient/src/app/app-routing.module.ts - App routing → OTP verification: routes to
click2LearnInstructorClient/src/app/app-routing.module.ts - App routing → Auth guard: guards routes
click2LearnInstructorClient/src/app/app-routing.module.ts - Login → Authentication service: calls
click2LearnInstructorClient/src/app/login/login.component.ts - OTP verification → Authentication service: calls
click2LearnInstructorClient/src/app/otp-verification-modal/otp-verification-modal.component.ts - Auth guard → Authentication service: reads login state
click2LearnInstructorClient/src/app/services/AuthGuard/auth-guard.service.ts - Authentication service → Node API: posts auth requests
click2LearnInstructorClient/src/app/services/authentiication/authentication.service.ts - Node API → User routes: mounts routes
click2LearnBackend/index.js - User routes → User controller: dispatches
click2LearnBackend/routes/user.js - User routes → User model: uses model
click2LearnBackend/routes/user.js - Node API → MongoDB: connects
click2LearnBackend/index.js - Course browsing → Cart state: updates cart
click2LearnInstructorClient/src/app/courses/courses.component.ts - Cart view → Cart state: reads cart
- Student → Secure payment gateway: purchases courses
- ASP.NET startup → Application context: configures
click2learnserver/click2learnserver/Program.cs - ASP.NET startup → Protection-key context: configures
click2learnserver/click2learnserver/Program.cs - ASP.NET startup → Database initializer: invokes
click2learnserver/click2learnserver/Program.cs - Database initializer → Application context: checks and seeds
click2learnserver/DataService/DbContextInitializer.cs - Database initializer → Protection-key context: ensures created
click2learnserver/DataService/DbContextInitializer.cs - Database initializer → User seeding service: creates defaults
click2learnserver/DataService/DbContextInitializer.cs - User seeding service → Identity options: reads settings
click2learnserver/FunctionalService/FunctionalSvc.cs - User seeding service → Customer options: reads settings
click2learnserver/FunctionalService/FunctionalSvc.cs - User seeding service → Application user: creates users
click2learnserver/FunctionalService/FunctionalSvc.cs - User seeding service → User address: creates addresses
click2learnserver/FunctionalService/FunctionalSvc.cs - Application context → Application user: maps
click2learnserver/DataService/ApplicationDbContext.cs - Application context → User address: maps
click2learnserver/DataService/ApplicationDbContext.cs - Application user → User address: has addresses
click2learnserver/ModelService/ApplicationUser.cs