EduMax is a subscription-based learning platform designed to showcase core skills in ASP.NET development with an Angular frontend. It allows users to register, subscribe to courses, track their learning progress, and access course materials. This project focuses on key functionalities to demonstrate proficiency in building web applications.
- User Roles: Support for Students and Admins.
- Registration: Email sign-up.
- Authentication: Secure login, password reset, and two-factor authentication (2FA) via email or SMS.
- Subscription Plans: Single subscription tier.
- Payment Integration: Basic integration with a payment gateway (e.g., PayPal, Stripe).
- Payment Lifecycle:
- Subscription Activation: Users can activate their subscription by making a payment.
- Billing Cycle: Automated monthly billing with invoice generation.
- Reminders: Email reminders for upcoming renewals and overdue payments.
- Course Creation: Admins can create and manage courses.
- Modules: Each course can have multiple modules.
- Content Types:
- Videos: Upload and manage course videos.
- Resources: Attach files (PDFs, links) to each video.
- Course Catalog: List of available courses.
- Dashboard: Basic student dashboard showing enrolled courses and progress.
- Progress Tracking: Track course completion status and module progress.
- User Management: Manage student accounts.
- Course Management: Create and update course details, modules, and resources.
- Email Notifications: Course updates, subscription reminders, and 2FA codes.
- Backend: ASP.NET Core
- Frontend: Angular
- Database: SQL Server or Azure SQL Database
- Hosting: Microsoft Azure or other cloud providers
- Version Control: Git (GitHub, GitLab, or Bitbucket)
-
Clone the repository:
git clone https://github.com/your-username/edumax.git cd edumax
-
Install backend dependencies:
dotnet restore
-
Navigate to the
ClientApp
directory and install frontend dependencies:cd ClientApp npm install
-
Configure the database connection in
appsettings.json
. -
Apply database migrations:
dotnet ef database update
-
Run the application:
dotnet run
-
In a separate terminal, navigate to the
ClientApp
directory and start the Angular development server:cd ClientApp ng serve