{"id":26656176,"url":"https://github.com/ismail-mohammed-atef/talabat","last_synced_at":"2026-04-17T10:31:51.949Z","repository":{"id":278831043,"uuid":"936911432","full_name":"Ismail-Mohammed-Atef/Talabat","owner":"Ismail-Mohammed-Atef","description":"web app providing restful APIS to be consumed by frontend application using angular framework","archived":false,"fork":false,"pushed_at":"2025-03-24T20:17:32.000Z","size":2038,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-24T21:26:27.653Z","etag":null,"topics":["authentication","authorization","csharp","design-patterns","dotnet-core","entity-framework-core","jwt","webapi"],"latest_commit_sha":null,"homepage":"","language":"CSS","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/Ismail-Mohammed-Atef.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":"2025-02-21T23:01:31.000Z","updated_at":"2025-03-24T20:29:14.000Z","dependencies_parsed_at":"2025-02-22T00:23:26.097Z","dependency_job_id":"bab56485-ec94-4f35-b026-bd40bfbab4f1","html_url":"https://github.com/Ismail-Mohammed-Atef/Talabat","commit_stats":null,"previous_names":["ismail-mohammed-atef/talabat-web-apis-project-"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ismail-Mohammed-Atef%2FTalabat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ismail-Mohammed-Atef%2FTalabat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ismail-Mohammed-Atef%2FTalabat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ismail-Mohammed-Atef%2FTalabat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ismail-Mohammed-Atef","download_url":"https://codeload.github.com/Ismail-Mohammed-Atef/Talabat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245414552,"owners_count":20611367,"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":["authentication","authorization","csharp","design-patterns","dotnet-core","entity-framework-core","jwt","webapi"],"created_at":"2025-03-25T07:18:26.682Z","updated_at":"2026-04-17T10:31:51.912Z","avatar_url":"https://github.com/Ismail-Mohammed-Atef.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web API Application\n\n## Overview\nThis project is a Web API built using .NET Core, following the Onion Architecture pattern to ensure modularity and maintainability. It incorporates advanced design patterns like Generic Repository, Specification, and Unit of Work to manage data access efficiently. The API includes authentication and authorization for security, utilizes Redis as an in-memory database for caching, and integrates Stripe for payment processing.\n\n## Features\n- **Onion Architecture**: Promotes separation of concerns and scalability.\n- **Authentication \u0026 Authorization**: Secure user management with Identity and JWT.\n- **Generic Repository Pattern**: Ensures flexible and reusable data access.\n- **Specification Pattern**: Provides advanced querying capabilities.\n- **Unit of Work Pattern**: Maintains transactional integrity.\n- **Redis Caching**: Enhances performance with in-memory storage.\n- **Stripe Payment Gateway**: Enables secure online payments.\n- **RESTful API**: Well-structured endpoints following best practices.\n\n## Technologies Used\n- **Backend**: ASP.NET Core Web API, C#\n- **Database**: SQL Server with Entity Framework Core\n- **Caching**: Redis\n- **Security**: Identity, JWT Authentication, Authorization\n- **Payment Gateway**: Stripe\n- **Design Patterns**: Onion Architecture, Generic Repository, Specification, Unit of Work\n\n## Installation\n1. Clone the repository.\n2. Open the project in Visual Studio.\n3. Restore NuGet packages.\n4. Configure the database connection in `appsettings.json`:\n   ```json\n   {\n     \"ConnectionStrings\": {\n       \"DefaultConnection\": \"Server=your-server;Database=your-db;User Id=your-user;Password=your-password;\"\n     }\n   }\n   ```\n5. Configure Redis and Stripe settings in `appsettings.json`:\n   ```json\n   {\n     \"Redis\": {\n       \"Connection\": \"localhost:6379\"\n     },\n     \"Stripe\": {\n       \"SecretKey\": \"your-stripe-secret-key\",\n       \"PublishableKey\": \"your-stripe-publishable-key\"\n     }\n   }\n   ```\n6. Apply migrations and update the database:\n   ```sh\n   dotnet ef database update\n   ```\n7. Build and run the application.\n\n## Usage\n1. Register/Login to obtain an authentication token.\n2. Use the token to access secured API endpoints.\n3. Perform CRUD operations with efficient data management.\n4. Utilize Redis caching for improved performance.\n5. Make secure payments via Stripe API.\n\n## Requirements\n- **.NET Version**: .NET Core 8 or later\n- **Database**: SQL Server\n- **Caching**: Redis\n- **Payment Processing**: Stripe Account\n\n\n## License\nThis project is licensed under the MIT License.\n\n## Contact\nFor support or inquiries, reach out via email at ismail.mohammed.atef@gmail.com.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fismail-mohammed-atef%2Ftalabat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fismail-mohammed-atef%2Ftalabat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fismail-mohammed-atef%2Ftalabat/lists"}