/FitNet

E-Commerce REST API using ASP.NET, EF Core, SQLite, redis, and Implemented with multiple design patterns like Generic Repository, Specification pattern, Unit of Work pattern and clean architecture.

Primary LanguageC#

FitNet is a robust E-Commerce platform built on ASP.NET Web API, designed to provide a seamless shopping experience for users. This project incorporates various advanced concepts and best practices to ensure scalability, maintainability, and security.

Features

  • Generic Repository: Utilizes the generic repository pattern to abstract database operations, promoting code reusability and maintainability.
  • Specification Pattern: Implements the specification pattern to construct complex queries and filter data efficiently.
  • Unit of Work: Implements the Unit of Work pattern to manage transactions and ensure data integrity across multiple database operations.
  • Error Handling: Implements comprehensive error handling mechanisms to provide informative and user-friendly error messages, enhancing the user experience.
  • Filtering, Sorting, and Pagination: Enables users to filter, sort, and paginate through large datasets efficiently, improving performance and usability.
  • Validation: Implements data validation to ensure that only valid and well-formed data is accepted, preventing common security vulnerabilities and data inconsistencies.
  • Authentication using Identity: Integrates ASP.NET Identity for user authentication, providing secure access control to resources and personalized user experiences.
  • Authorization: Implements role-based authorization to restrict access to specific functionalities based on user roles, enhancing security and data protection.
  • Caching using Redis: Utilizes Redis caching to improve performance by storing frequently accessed data in memory, reducing database load and latency.
  • Swagger Documentation: Utilizes Swagger for API documentation, providing developers with a clear and interactive interface to explore and test the API endpoints.

Getting Started

  1. Clone the repository.
  2. Configure the database connection string in the appsettings.json file.
  3. Run the database migrations to create the necessary tables.
  4. Build and run the application.
  5. Access the Swagger UI to explore the API endpoints and start using FitNet.
  6. Here is also Postman collection to test the API: Postman

Contributing

Contributions are welcome! Feel free to fork the repository, make your changes, and submit a pull request. Please ensure that your code adheres to the project's coding standards and conventions.

Screenshot

Screenshot 2024-08-21 212717