Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mohamed-mosad1/talabat.apis
E-Commerce API ASP.NET Core 8
https://github.com/mohamed-mosad1/talabat.apis
Last synced: 20 days ago
JSON representation
E-Commerce API ASP.NET Core 8
- Host: GitHub
- URL: https://github.com/mohamed-mosad1/talabat.apis
- Owner: Mohamed-Mosad1
- Created: 2024-04-09T23:33:06.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-06-30T22:52:51.000Z (7 months ago)
- Last Synced: 2024-11-07T13:07:49.760Z (2 months ago)
- Language: C#
- Size: 2.97 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Talabat E-commerce Project Overview
# RESTful API
ASP.NET Core Web API
The backbone of the backend, providing a robust and high-performance framework for building RESTful services.# Architectural Patterns
# Onion Architecture
Onion Architecture: Employed to enforce a clear separation of concerns, enhancing maintainability and testability by structuring the application into layers.# Data Management
# Entity Framework Core
Used as the Object-Relational Mapper (ORM) for data access, enabling efficient and type-safe database operations.
SQL Server: The primary relational database management system used to store and manage application data.
Seeding: Initialized the database with essential data to facilitate development and testing.# Generic Repository:
Provides a generic implementation of common CRUD operations, promoting code reuse and simplifying data access.
Repository Pattern: Adds an additional abstraction for data access, enhancing flexibility and testability.
# Unit of Work:
Manages transactions across multiple repositories, ensuring data consistency and integrity.# Caching and Performance Optimization
Redis Caching: Implements caching strategies using Redis to enhance performance by reducing database load and speeding up data retrieval.
In-Memory Database: Used for quick access to frequently used data, improving application performance.# Security and Authentication
ASP.NET Core Identity
Identity Authentication and Authorization: Manages user authentication and authorization, ensuring secure access to the application.
JWT Tokens: Utilized for secure and stateless authentication, allowing users to authenticate and access protected resources.
Login & Register: Implements secure and user-friendly authentication and registration processes.
Forgot and Reset Password: Provides functionality to securely handle forgotten and reset passwords.
Send Email: Integrates email services to send notifications and password reset links to users.# Data Transfer and Mapping
AutoMapper
Automatically maps objects between different layers (e.g., DTOs to domain models), reducing boilerplate code and ensuring consistency.
DTOs (Data Transfer Objects): Used for transferring data between the client and the server, ensuring only necessary data is exposed.# Data Operations
CRUD Operations
Implements Create, Read, Update, and Delete operations for managing resources in the application.# Advanced Data Handling
# Pagination with Specification Design Pattern:
Efficiently handles large datasets by dividing them into manageable pages, improving performance and user experience.
# Sorting:
Adds functionality to sort data based on various criteria, enhancing the user experience by providing organized data.
# Filtering:
Implements advanced filtering techniques to allow users to refine their search results based on specific parameters.# Shopping Basket
# Basket Repository
Implements functionality for managing user shopping baskets in memory-database, including adding, removing, and updating items.# Payment Integration
# Stripe Payment Gateway
Payment with Stripe: Integrates Stripe for secure and efficient payment processing, enabling users to complete transactions seamlessly.