Skip to content

A web application about a 'Technology E-Commerce' that a back-side coding with ASP.NET Core Web API.

Notifications You must be signed in to change notification settings

DevKennans26/TechECommerce-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TechECommerce-Server

TechECommerce (Technology E-Commerce) is a backend application for an e-commerce platform focusing on technological products. This project is currently in development and has been in progress for about a month.

Project Overview

TechECommerce aims to provide a robust backend for managing and selling tech products. It is built using C# and leverages the latest .NET 8.0 framework. Adhering to SOLID principles and design patterns, the project emphasizes clean and maintainable code. Throughout the development process, notes and TODOs are included for easier future revisions.

Important

Since the project is currently in the development stage, it is inevitable that there will be developments and modifications in the project over time!

Features & Technology Stack

  • Onion Architecture: Followed the principles of onion architecture, promoting modular and maintainable code.
  • Entity Framework Core: Entity Framework Core was released as an ORM tool. Used for database operations, ensuring efficient data handling.
  • PostgreSQL: PostgreSQL was preferred as the database server, and various behavior db modeling (TPH) was used where necessary.
  • Repository Pattern: A repository pattern according to SOLID principles is integrated as much as possible. Implemented both ReadRepository and WriteRepository to support CQRS and Mediator patterns, enhancing data manipulation capabilities.
  • Redis (for cache): Employed Redis for caching data, enhancing performance by reducing database loads (especially for listing all products).
  • Storage Services With Solid Infrastructure: Using the benefits of object-oriented programming, a storage service with a solid infrastructure was created. As a result, all services had storage services with the same infrastructure, but working in a unique way. In the mentioned project, it is possible to store only locally and via Azure Portal (cloud).
  • SEO Compatibility: Appropriate algorithms and procedures are written to ensure SEO compliance for files (images and others) of products.
  • Microsoft identity platform: Microsoft Identity is used for authentication process.
  • JSON Web Token: Integrated JWT (token handler) for secure authentication and authorization processes, ensuring API security.
  • OAuth Login: It is possible to access the application through external providers such as Google and Facebook.
  • Logging: Serilog library is used to log actions in according service, controllers (PostgreSQL (db-server) sink, Seq sink).
  • Base Structures: Incorporated base structures such as [BaseHandler], [BaseException], and [BaseRule] for consistent and efficient code organization.
  • Custom Exception Handling: Developed custom exception handlers for improved error management and user experience (for any client-side application).
  • Validation Rules: Defined validation rules for each entity and structure, ensuring data consistency and integrity.

Contribution

Note

Contributions are welcome! Feel free to open issues or pull requests for any enhancements, bug fixes, or suggestions.