Welcome to Infinite Days Challenge! This event is designed to test your skills in building a real-world project using advanced C# concepts. In this challenge, you'll be working on an e-commerce order processing system.
Note: The full documentation is available in the
/docs
folder. Take a look at this for further explanations.Especially:
Build a robust e-commerce order processing system that includes features like order creation, inventory management, and customer notification.
- Delegates
- Events
- Async/Await
- Linq
- Class Definition and Properties
- Interface Implementation
- Unit Testing
-
Fork the Repository: Start by forking this repository to your own GitHub account.
-
Clone the Repository: Clone the forked repository to your local machine.
-
Implement the Features: Follow the steps provided in the source code to implement the required features. Utilize the provided interfaces, and ensure that your code adheres to the specified C# concepts.
-
Write Unit Tests: Implement unit tests for the features you've developed. Ensure comprehensive test coverage to verify the correctness of your implementation.
Note that the initial project will include predefined tests. You should add your own. We will take in consideration the number of passed tests
-
Commit Changes: Make regular commits with clear and concise commit messages as you progress through the challenge.
-
Push Changes: Once you've completed the challenge, push your changes to your GitHub repository.
-
Submit Pull Request: Create a pull request from your forked repository to the original repository. Include a brief description of your implementation and any additional information you'd like to provide.
Participants will be evaluated based on the following criteria:
- Code Quality: Clarity, readability, and adherence to best practices.
- Functionality: Successful implementation of the specified features.
- Testing: Comprehensive unit tests demonstrating the correctness of the implemented features.
- Git Usage: Effective use of version control with clear commit messages.
- Feel free to reach out to event organizers or mentors for clarifications.
- Participants are encouraged to explore and showcase additional features beyond the specified requirements.
Good luck, and happy coding!