{"id":15150242,"url":"https://github.com/mohamedosamaa74/elearn","last_synced_at":"2025-10-24T05:32:01.873Z","repository":{"id":251512647,"uuid":"746466763","full_name":"MohamedOsamaa74/ELearn","owner":"MohamedOsamaa74","description":"the backend Repo for eLearn, a graduation project for the Computer Science department at South Valley University.","archived":false,"fork":false,"pushed_at":"2024-08-21T23:59:46.000Z","size":7381,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-31T00:12:56.681Z","etag":null,"topics":["api","asp-net-core","automapper","clean-architecture","clean-code","csharp","end-to-end-encryption","entity-framework-core","jwt","linq","signalr","solid"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MohamedOsamaa74.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-22T03:45:34.000Z","updated_at":"2024-08-21T23:59:49.000Z","dependencies_parsed_at":"2024-08-03T16:26:44.833Z","dependency_job_id":"956acc87-1588-47a0-9a73-d1e093fd4998","html_url":"https://github.com/MohamedOsamaa74/ELearn","commit_stats":null,"previous_names":["mohamedosamaa74/elearn"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedOsamaa74%2FELearn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedOsamaa74%2FELearn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedOsamaa74%2FELearn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MohamedOsamaa74%2FELearn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MohamedOsamaa74","download_url":"https://codeload.github.com/MohamedOsamaa74/ELearn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237918710,"owners_count":19387305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","asp-net-core","automapper","clean-architecture","clean-code","csharp","end-to-end-encryption","entity-framework-core","jwt","linq","signalr","solid"],"created_at":"2024-09-26T14:02:07.096Z","updated_at":"2025-10-24T05:31:51.864Z","avatar_url":"https://github.com/MohamedOsamaa74.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ELearn\n\n\u003c!-- ![ELearn Logo](https://github.com/user-attachments/assets/cd7a4c5b-cf04-452d-880e-2f8f5ab1379e)--\u003e\n\n![Untitled-4-Bi-XWAN7](https://github.com/user-attachments/assets/07ebbd01-14d0-4180-a9ca-fd9bec170e8a)\n\n\n## Table of Contents\n\n- [About the Project](#about-the-project)\n- [Features](#features)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n  - [Running the Application](#running-the-application)\n- [Usage](#usage)\n- [Project Structure](#project-structure)\n- [Technologies Used](#technologies-used)\n- [Contact](#contact)\n- [Contributers](#Contributers)\n\n## About the Project\n\nELearn is a comprehensive educational platform that can be devided to 3 subsystems:\n- Learning Management System\n- Quizzing Systym\n- Communication System: Similar to a social media platform that contains both Community Forum and Chatting between system users\n\nThis project is developed as a graduation project for the Computer Science department at South Valley University.\n\n## Features\n\n- User Authentication and Authorization using ASP.NET Identity\n- Course Management\n  - Creation, updating, and deletion of courses\n  - Enrollment of users in courses\n- Quiz and Assignment Modules\n  - Creation, updating, and deletion of quizzes and assignments\n  - Submission and grading of assignments\n- Real-time Notifications with SignalR\n- Social Media-like Features\n  - Posting announcements\n  - Commenting on posts\n- File Upload and Management\n- Role-based Access Control\n\n## Getting Started\n\n### Prerequisites\n\n- [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)\n- [SQL Server](https://www.microsoft.com/en-us/sql-server/sql-server-downloads)\n\n### Installation\n\n1. **Clone the repository:**\n\n   ```sh\n   git clone https://github.com/MohamedOsamaa74/ELearn.git\n   cd ELearn\n\n\n2. **Setup the backend:**\n\n  - Navigate to the backend project directory:\n  \n    ```sh\n    cd ELearn.Api\n    ```\n  - Restore the NuGet packages:\n  \n    ```sh\n    dotnet restore\n    ```\n  - Update the database:\n  \n    ```sh\n    dotnet ef database update\n    ```\n  \n### Running the Application\n- Start the backend:\n\n  ```sh\n  dotnet run\n  ```\n## Usage\nOnce the application is running, you can interact with the API using tools like Postman, swagger or through a frontend client. The API endpoints allow you to manage users, courses, assignments, quizzes, and more.\n\n## Project Structure\n  ```plaintext\n  ELearn/\n  │\n  ├── ELearn.Api/           # ASP.NET Core Web API project, Handles HTTP requests and responses.\n  ├── ELearn.Application/   # Application layer, Contains the buisiness logic and helpers classes\n  ├── ELearn.Domain/        # Domain entities\n  ├── ELearn.InfraStructure/# Infrastructure and data access\n  └── README.md             # Project documentation\n  ```\n\n## Technologies Used\nBackend:\n- **ASP.NET Core**\n- **Entity Framework Core**\n- **SQL Server**\n- **SignalR**\n- **ASP.NET Identity**\n- **JWT Authentication**\n- **Gmail SMTP**\n- **CSV Helper**\n- **FluentValidation**\n- **AutoMapper**\n\n## Contact\nMohamed Osama - moa.mohamedosama@gmail.com\n\n## Contributers\nThis project exists thanks to all the people who contribute. A special thanks to our BackEnd Developers:\n- *Mohamed Osama*\n  - *GitHub:* [MohamedOsamaa74](https://github.com/MohamedOsamaa74)\n  - *LinkedIn:* [Mohamed Osama](https://www.linkedin.com/in/mohamed-osama-306573200/)\n\n- *Aya Abdelkhalk*\n  - *GitHub:* [AyaAbdelkhalk](https://github.com/AyaAbdelkhalk)\n  - *LinkedIn:* [Aya Abdelkhalk](https://www.linkedin.com/in/aya-abdelkhalk-0026aa21b/)\n\n- *Doha Ezzat*\n  - *GitHub:* [DohaEzzat](https://github.com/DohaEzzat)\n  - *LinkedIn:* [Doha Ezzat](https://www.linkedin.com/in/doha-ezzat-373718251/)\n\n- *Marwan Wannan*\n  - *GitHub:* [Wannan24](https://github.com/wannan24)\n  - *LinkedIn:* [Marwan Wannan](https://www.linkedin.com/in/marwan-wannan-11275a230/)\n\n\nProject Link: https://github.com/MohamedOsamaa74/ELearn\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohamedosamaa74%2Felearn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohamedosamaa74%2Felearn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohamedosamaa74%2Felearn/lists"}