Skip to content

Leen-odeh3/PharmaShop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 

Repository files navigation

"Shop Smart, Live Better – From Cart to Checkout, Explore Our Wide Range of Products!" 🛒🛍️

Overview 💥

Welcome to my eCommerce Platform, a scalable and secure web application built using .NET Core 8 with Onion Architecture. This design ensures clean code separation, maintainability, and scalability for optimal performance and growth.

URL Documentation:

API Documentation Link

Highlights

Tech Stack & Key Features:

  • ASP.NET Core 8.0:
    The latest version of ASP.NET Core, providing a fast, secure, and reliable framework for building modern APIs and web applications.

  • Onion Architecture:
    A layered architecture designed to separate core business logic from dependencies like the database and UI, ensuring maintainability and scalability.

  • SQL Server:
    A robust and reliable database system used for storing product data, user information, and transactions.

  • ASP.NET Core Identity:
    An integrated authentication and authorization system with role-based management (admin, customer, pharmacist).

  • JWT Authentication:
    Secure token-based authentication with JSON Web Tokens (JWT), providing secure role management and session handling.

  • Entity Framework Core (EF Core):
    Object-relational mapping (ORM) for working with SQL Server and implementing efficient database operations.

  • LINQ (Language Integrated Query):
    A query syntax used for data querying and manipulation, enabling powerful interactions with EF Core for complex queries.

  • Generic Repository & Unit of Work Pattern:
    Implements a clean, maintainable data access layer.

  • Mapster:
    Efficient mapping between domain models and DTOs (Data Transfer Objects) for optimized data transfer between application layers.

  • DTOs (Data Transfer Objects):
    Simplifies data handling and communication between layers of the application.

  • Specification Pattern:
    Used for dynamic querying and filtering within the repository layer.

  • Data Seeding:
    Automatic population of the database with default users, roles, and products.

  • Session Management:
    Session handling is used to track user-specific data during interactions with the platform, such as login status, cart items, and preferences. This ensures a seamless experience by maintaining user session data across requests.

  • Stripe Payment Integration:
    Fully integrated with Stripe for secure and reliable payment processing.

Checkout
  • Global Error Handling:
    A centralized error handling mechanism to ensure robustness and clean exception logging.

🌟 Features:

User Registration & Login:

Complete authentication system with role-based management (admin, customer, pharmacist).

JWT-Based Authentication:

Secure token generation, token refresh, and role-based authentication using JWT.

Product Management:

CRUD operations for managing products, including filtering by category and price.

Shopping Cart:

Ability to add, update, or remove items from the shopping cart.

Wishlist:

Allow users to add products to their wishlist for future purchase consideration.

Discounts :

Offer discount codes or promotional coupons for customers to redeem at checkout.

Reviews & Ratings:

Users can review and rate products, providing valuable feedback for other customers.

Data Caching:

Improves performance and reduces database load by caching frequently accessed data.

Error Handling:

Comprehensive error logging and handling to ensure smooth user experiences and fast issue resolution.

Image Storage

Cloudinary Integration

Cloudinary is used for managing and storing images in the Pharma Platform. It provides a scalable, secure, and feature-rich solution for image storage and transformation.

358914909-0c91f3e2-1023-442a-b250-a458db4b0d32

We add account informations on appsettings.json and create an entity whose name is CloudinarySettings.

358914917-bb570e84-265c-49ea-8115-721a9784087d

🤝 Contact & Support:

Feel free to reach out via LinkedIn if you have any questions or would like to discuss the project further!

About

eCommerce Platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages