An ASP.NET Core MVC application for comprehensive online course management. This platform enables educators to create and manage courses while providing students with an interactive learning experience through structured content and quizzes.
- Role-based authentication (Admin, Instructor, Student)
- User profile management with profile pictures
- Secure identity management using ASP.NET Core Identity
- Create, edit, and delete courses
- Organize content into modules and lessons
- Rich text content support
- Video integration capabilities
- Course pricing and enrollment management
- Secure payment processing with Stripe
- Course pricing management
- Payment history tracking
- Refund handling capabilities
- Entity Framework Core for data management
- SQL Server database backend
- CRUD operations for all entities
- Custom authorization policies
- Unite Of Work
- .NET 9.0 SDK
- SQL Server 2019 or later
- Stripe account for payment processing (optional)
- Visual Studio 2022 or VS Code
- Node.js (for frontend asset management)
- Clone the repository:
git clone https://github.com/yourusername/OnlineLearningPlatform.git
- Configure the database connection in appsettings.json:
{
"ConnectionStrings": {
"DefaultConnection": "Your-Connect-string"
}
}
- Run database migrations:
dotnet ef database update
- Configure Stripe settings (optional):
{
"Stripe": {
"SecretKey": "your_stripe_secret_key",
"PublishableKey": "your_stripe_publishable_key"
}
}
- Build and run the project:
dotnet build
dotnet run
Context/
: Entity Framework DbContext and configurationsControllers/
: MVC controllers handling application logicModels/
: Domain models representing business entitiesViewModels/
: DTOs for view-specific dataViews/
: Razor views for the user interfaceRepositories/
: Data access layer implementationPolicy/
: Custom authorization policieswwwroot/
: Static files (CSS, JavaScript, images)