Skip to content

This .NET API provides a comprehensive solution for managing a shopping list with various features for both customers and store managers. It allows customers to browse products, add items to their cart, and make purchases, while store managers can manage promotions, monitor inventory levels, and receive email notifications.

License

Notifications You must be signed in to change notification settings

Raffael-Eloi/shopping-list

Repository files navigation

Shopping List API 🚀

Overview 🎯

Welcome to the Shopping List API! This .NET-based API provides a comprehensive solution for managing a shopping list with various features for both customers and store managers. It allows customers to browse products, add items to their cart, and make purchases, while store managers can manage promotions, monitor inventory levels, and receive email notifications.

Features 🔑

Customer Features 📝

  • Browse Products: View a wide range of products available in the store.
  • Product Details: Access detailed information about each product.
  • Add to Cart: Easily add items to your shopping cart.
  • Purchase Items: Complete purchases efficiently.
  • Rate and Review Products: After purchasing, provide feedback through ratings and reviews. This helps other shoppers and gives insights to the store manager.

Store Manager Features 📝

  • Manage Promotions: Create and update promotions to attract customers.
  • Inventory Management: Receive email alerts when stock levels are low, enabling timely restocking.
  • Order Confirmation: Customers receive prompt email notifications confirming their order details.

Requirements 🛠️

  • FluentValidation: For validating inputs and ensuring data integrity.
  • Quartz.NET: For scheduling and managing background jobs.
  • Serilog: For structured logging to keep track of application events.
  • FakeItEasy: For creating mocks in unit tests.
  • FluentAssertions: For writing readable and maintainable test assertions.
  • MailKit: For handling email functionalities (IMAP, POP3, SMTP).
  • Autofac: For managing dependency injection with Inversion of Control (IoC).

CI-CD Flow 🔁

image

Technologies and Concepts 💻

  • .NET 8 API: Modern and efficient API development.
  • Test-Driven Development (TDD): Ensures code reliability through comprehensive unit tests.
  • Behavior-Driven Development (BDD): Facilitates integration testing with SpecFlow.
  • SOLID Principles: Promotes clean and maintainable code architecture.

Event Storming 💡

You can access here.

Domain Storytelling - Diagrams

Ubitiquous language - Dictionary

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

This .NET API provides a comprehensive solution for managing a shopping list with various features for both customers and store managers. It allows customers to browse products, add items to their cart, and make purchases, while store managers can manage promotions, monitor inventory levels, and receive email notifications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published