Skip to content

abdalla-hassanin/E-Learning-API

Repository files navigation

E-Learning System API

🚀 Advanced Learning Management System (LMS) Project Using ASP.NET Core

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.

ASP.NET Core C# EF Core Swagger

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/
E-Learning System Diagram
## 🌟 Key Features

👥 Intelligent User System

  • Precise distinction between students, instructors, and administrators
  • Secure account management with ASP.NET Core Identity
  • Rich information profiles for instructors

📚 Advanced Educational Content Management

  • 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

📊 Precise Student Progress Tracking

  • Advanced recording system for each step in the learning journey
  • Attractive visual display of progress percentages and achievements

📝 Comprehensive Exam System

  • Multiple question types with multimedia support
  • Flexible management of exam time and number of attempts
  • Detailed analysis of student performance

⭐ Interactive Ratings and Reviews System

  • Transparent ratings with advanced filtering and sorting capabilities

🔍 Smart Search

  • Advanced search and filtering options for a smooth user experience

📅 Efficient Schedule Management

  • Accurate planning and tracking of course and exam dates

🚀 Technologies Used

🔧 Backend

  • ASP.NET Core & Entity Framework Core
  • CQRS architecture with MediatR
  • Unit of Work & Generic Repository patterns

🔐 Security

  • JWT Authentication
  • ASP.NET Core Identity integration
  • Role-Based Access Control (RBAC)

🛠️ Developer Features

  • Fluent API & Fluent Validation
  • Seamless Email Service integration
  • Comprehensive Swagger documentation
  • Smart Pagination & Rate Limiting

🌟 Explore the Project

🔬 Interactive API

Swagger UI

📘 Detailed Documentation

Postman Docs

🚀 Getting Started

Prerequisites

  • .NET 6.0 SDK
  • SQL Server
  • Visual Studio 2022 or JetBrains Rider (recommended)

Installation

  1. Clone the repository:
    git clone https://github.com/abdalla-hassanin/E-Learning-API.git
    
  2. Navigate to the project folder:
    cd E-Learning-API
    
  3. Install required packages:
    dotnet restore
    
  4. Update the database connection string in appsettings.json.
  5. Apply migrations to create the database:
    dotnet ef database update
    
  6. Run the application:
    dotnet run
    

📄 License

This project is licensed under the MIT License.

🤝 Contributing

Contributions are welcome! Please read the contribution guide for details on how to contribute to this project.

📞 Contact

For inquiries or suggestions, please contact Abdalla Hassanin.


⭐ If you like this project, don't forget to give it a star on GitHub!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages