A sophisticated Learning Management System (LMS) built on ASP.NET Core, providing a comprehensive and robust educational platform for efficient management of the learning process.
ELearningApi/
├── ELearningApi.Api/
│ ├── Controllers/
│ ├── Base/
│ ├── Dependencies/
│ └── Properties/
├── ELearningApi.Core/
│ ├── Base/
│ │ ├── ApiResponse/
│ │ └── MiddleWare/
│ ├── MediatrHandlers/
│ │ ├── Auth/
│ │ ├── Category/
│ │ ├── Course/
│ │ │ ├── Commands/
│ │ │ └── Queries/
│ │ └── [Other Entities]/
│ └── Dependencies/
├── ELearningApi.Data/
│ ├── Entities/
│ ├── Enums/
│ └── Dependencies/
├── ELearningApi.Infrastructure/
│ ├── Base/
│ ├── Configurations/
│ ├── Context/
│ ├── Migrations/
│ └── Dependencies/
└── ELearningApi.Service/
├── Base/
├── IService/
├── Service/
└── Dependencies/
- Precise distinction between students, instructors, and administrators
- Secure account management with ASP.NET Core Identity
- Rich information profiles for instructors
- Flexible course structuring with diverse sections and lectures
- Support for all types of content (video, text, presentations, live streaming)
- Intelligent course categorization by level and requirements
- Advanced recording system for each step in the learning journey
- Attractive visual display of progress percentages and achievements
- Multiple question types with multimedia support
- Flexible management of exam time and number of attempts
- Detailed analysis of student performance
- Transparent ratings with advanced filtering and sorting capabilities
- Advanced search and filtering options for a smooth user experience
- Accurate planning and tracking of course and exam dates
- ASP.NET Core & Entity Framework Core
- CQRS architecture with MediatR
- Unit of Work & Generic Repository patterns
- JWT Authentication
- ASP.NET Core Identity integration
- Role-Based Access Control (RBAC)
- Fluent API & Fluent Validation
- Seamless Email Service integration
- Comprehensive Swagger documentation
- Smart Pagination & Rate Limiting
- .NET 6.0 SDK
- SQL Server
- Visual Studio 2022 or JetBrains Rider (recommended)
- Clone the repository:
git clone https://github.com/abdalla-hassanin/E-Learning-API.git - Navigate to the project folder:
cd E-Learning-API - Install required packages:
dotnet restore - Update the database connection string in
appsettings.json. - Apply migrations to create the database:
dotnet ef database update - Run the application:
dotnet run
This project is licensed under the MIT License.
Contributions are welcome! Please read the contribution guide for details on how to contribute to this project.
For inquiries or suggestions, please contact Abdalla Hassanin.
⭐ If you like this project, don't forget to give it a star on GitHub!