0% found this document useful (0 votes)
7 views2 pages

C# Shopping Cart System Design Guide

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views2 pages

C# Shopping Cart System Design Guide

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

19 March 2024

Assignment Overview

Title: Shopping Cart System

Objective:

Design and implement a Shopping Cart System using C#, showcasing advanced C#
skills, understanding of web technologies, database interactions, and design patterns.

Core Requirements:

1. Data Model Design:


• Design a data model for products, shopping carts, users, and orders.
• Include relevant properties (e.g., ProductID, Name, Price, CartID, Quantity,
UserID).
2. Database Interaction:
• Implement data access using Entity Framework Core.
• Provide functionality to manage products and shopping cart items (add,
update, remove, etc.).
3. Business Logic:
• Implement business rules for adding items to the cart, updating quantities,
calculating totals, etc.
• Use design patterns such as Repository Pattern for data access and
Singleton for the cart instance (if session-based).
4. RESTful API Development:
• Develop a RESTful API to handle shopping cart operations like adding
items, removing items, viewing the cart, and checking out.
• Include endpoints for product management (add, update, delete, list).
5. User Authentication and Authorization:
• Implement user authentication and secure the API.
• Use JWT tokens or similar mechanisms for securing endpoints.
6. Unit and Integration Testing:
• Write unit and integration tests using a framework like NUnit or xUnit.
7. Error Handling and Validation:
• Implement error handling and input validation to ensure data integrity.
8. Front-end Integration (Optional):
• Create a basic front-end application using angular to interact with the API.
• Demonstrate CRUD operations on products and shopping cart items
through the UI.
9. Documentation:
19 March 2024

• Provide clear documentation for API endpoints and setup instructions.


10. Bonus Features (Optional):
• Implement a payment gateway simulation for the checkout process.
• Provide real-time updates in the cart using SignalR.

Evaluation Criteria:

• Code Quality: Clean, readable, and maintainable code adhering to best practices.
• Architecture: Effective use of design patterns and architecture (e.g., MVC, Clean
Architecture).
• Functionality: The system should work as expected without bugs.
• Testing: Thoroughness of tests and coverage.
• Security: Proper implementation of authentication, authorization, and data
validation.
• Documentation: Clarity and completeness of documentation.

Submission Guidelines:

• The project should be submitted as a GitHub repository link containing all source
code, database scripts, and documentation.
• The README file should include setup and running instructions, along with any
necessary configuration steps.

You might also like