{"id":23343442,"url":"https://github.com/manthanthakor/realtimenotificationordermanagementsystem-","last_synced_at":"2025-09-07T14:06:36.291Z","repository":{"id":264843141,"uuid":"894395484","full_name":"ManthanThakor/RealTimeNotificationOrderManagementSystem-","owner":"ManthanThakor","description":"This is a simple implementation of a Real-Time Notification System in C# for order management. The system uses C# events and delegates to notify different services (Email, SMS) when an order is placed, shipped, or delivered.","archived":false,"fork":false,"pushed_at":"2024-11-27T04:40:33.000Z","size":98,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T16:21:13.911Z","etag":null,"topics":["csharp","csharp-code","delegates","delegates-events","emailnotifications","eventhandling","events","notification-system","notifications","ordermanagement","realtimenotifications","smsnotification"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ManthanThakor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-26T09:31:51.000Z","updated_at":"2024-11-27T04:40:37.000Z","dependencies_parsed_at":"2025-02-13T18:47:45.829Z","dependency_job_id":null,"html_url":"https://github.com/ManthanThakor/RealTimeNotificationOrderManagementSystem-","commit_stats":null,"previous_names":["manthanthakor/realtimenotificationordermanagementsystem-"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ManthanThakor/RealTimeNotificationOrderManagementSystem-","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManthanThakor%2FRealTimeNotificationOrderManagementSystem-","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManthanThakor%2FRealTimeNotificationOrderManagementSystem-/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManthanThakor%2FRealTimeNotificationOrderManagementSystem-/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManthanThakor%2FRealTimeNotificationOrderManagementSystem-/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ManthanThakor","download_url":"https://codeload.github.com/ManthanThakor/RealTimeNotificationOrderManagementSystem-/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ManthanThakor%2FRealTimeNotificationOrderManagementSystem-/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274046000,"owners_count":25212982,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","csharp-code","delegates","delegates-events","emailnotifications","eventhandling","events","notification-system","notifications","ordermanagement","realtimenotifications","smsnotification"],"created_at":"2024-12-21T06:15:29.032Z","updated_at":"2025-09-07T14:06:36.261Z","avatar_url":"https://github.com/ManthanThakor.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Real-Time Notification System for Order Management Using Events and Delegates in C#\n\nThis is a simple implementation of a Real-Time Notification System in C# for order management. The system uses C# events and delegates to notify different services (Email, SMS) when an order is placed, shipped, or delivered.\n\n## Problem Statement\n\nReal-Time Notification System Using Events and Delegates in C#\n\nScenario:\nAn online shopping application needs a notification system to inform users about the progress of their orders. Notifications should be sent via email and SMS when the following events occur:\n\n1. Order Placed: Notify when the order is successfully placed.\n2. Order Shipped: Notify when the order is shipped.\n3. Order Delivered: Notify when the order is delivered.\n\nThe application should use delegates and events to handle the notifications efficiently. Multiple subscribers (like email and SMS services) should receive updates whenever an event occurs.\n\n## Features\n\n- **Real-time notifications**: The system notifies via Email and SMS using events when certain actions (Order Placed, Order Shipped, Order Delivered) occur.\n- **Custom Event Handling**: Events are triggered for each order action, and notifications are sent to the corresponding services (Email and SMS).\n- **Separation of Concerns**: The notification logic is decoupled from the order management logic, making it easy to extend and maintain.\n\n## Technologies Used\n\n- C#\n- Events and Delegates\n- Interfaces for Notification Services\n\n## Setup Instructions\n\nTo run the Real-Time Notification System locally:\n\n1. Clone this repository to your local machine:\n   ```bash\n   git clone https://github.com/ManthanThakor/RealTimeNotificationOrderManagementSystem-.git\n\n2. Navigate to the project folder:\n\n\t\tcd RealTimeNotificationSystem\n\n3. Open the project in your preferred C# IDE (e.g., Visual Studio or Visual Studio Code).\n\n4. Build and run the project.\n\n## Code Structure\n\n - Order: This class contains methods for placing, shipping, and delivering orders. It raises events when any of these actions occur.\n - INotification: This interface defines the OnOrderNotification method, which is implemented by the EmailService and SMSService classes to send notifications.\n - EmailService \u0026 SMSService: These classes implement the INotification interface and handle the sending of notifications through Email and SMS.\n\n## Example Usage\n\n\tOrder order = new Order();\n\tINotification emailService = new EmailService();\n\tINotification smsService = new SMSService();\n\n\torder.OrderPlaced += emailService.OnOrderNotification;\n\torder.OrderPlaced += smsService.OnOrderNotification;\n\n\torder.OrderShipped += emailService.OnOrderNotification;\n\torder.OrderShipped += smsService.OnOrderNotification;\n\n\torder.OrderDelivered += emailService.OnOrderNotification;\n\torder.OrderDelivered += smsService.OnOrderNotification;\n\n\torder.PlaceOrder();\n\tConsole.WriteLine();\n\n\torder.ShipOrder();\n\tConsole.WriteLine();\n\n\torder.DeliverOrder();\n\n## Output Example\n\n\tReal-Time Notification System for Order Management Using Events and Delegates in C#\n\n\tOrder has been placed.\n\t[*Email Notification*]: Your order has been successfully placed.\n\t[*SMS Notification*]: Your order has been successfully placed.\n\n\tOrder has been shipped.\n\t[*Email Notification*]: Your order is on its way!\n\t[*SMS Notification*]: Your order is on its way!\n\n\tOrder has been delivered.\n\t[*Email Notification*]: Your order has been delivered.\n\t[*SMS Notification*]: Your order has been delivered.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanthanthakor%2Frealtimenotificationordermanagementsystem-","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanthanthakor%2Frealtimenotificationordermanagementsystem-","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanthanthakor%2Frealtimenotificationordermanagementsystem-/lists"}