Draw a sequence diagram for an online food delivery system that takes into account all the nuances and intricacies of the system. The diagram should include the following components and interactions:
1. User interaction with the application (registration, login, browsing, searching, filtering, and selecting a restaurant).
2. Displaying the restaurant's menu, allowing the user to select items and customize them (e.g., add toppings, special instructions, etc.).
3. Implementing a shopping cart for adding, updating, and removing items, as well as displaying the order summary.
4. Integrating a secure payment system for the user to enter their payment information and complete the transaction.
5. Confirming the order and sending notifications to the user, restaurant, and the delivery partner.
6. The restaurant's process of accepting the order, preparing the food, and packaging it for delivery.
7. The delivery partner's process of picking up the order from the restaurant, navigating to the user's location, and delivering the food.
8. The user receiving real-time updates on the order status, estimated delivery time, and tracking the delivery partner's location.
9. Enabling the user, restaurant, and delivery partner to communicate with each other in case of any issues or updates.
10. Upon delivery completion, allowing the user to rate and review the restaurant and the delivery experience.
The diagram should be clear, easy to follow, and should visually demonstrate the flow of information and actions between the various components of the system. Additionally, please ensure that the diagram maintains a consistent design and uses appropriate notations for sequence diagrams.
Copy-Paste here in the Demo Link
Create a detailed diagram depicting the underlying AWS architecture for an online food delivery application. The diagram should consider all the essential components and interactions necessary to explain the system. The architecture should include the following AWS services and components:
1. Amazon API Gateway for handling incoming API requests and routing them to appropriate services.
2. AWS Lambda functions for serverless computing, allowing the app to process and manage orders, user authentication, and other core functionalities.
3. Amazon RDS for storing and managing customer, restaurant, and order data in a relational database.
4. Amazon S3 for storing static assets, such as images and other media files associated with the app.
5. Amazon CloudFront as a content delivery network (CDN) to distribute static assets and cache API responses for faster delivery.
6. Amazon Cognito for handling user authentication and authorization, managing user accounts and social logins.
7. AWS Elastic Load Balancer to distribute incoming traffic across multiple EC2 instances to maintain availability and performance.
8. Amazon EC2 instances for running the application server and any additional services required.
9. Additionally, illustrate the interaction between these components and services to represent the request and response flow. Also, include any external services, such as third-party authentication providers or payment gateways, and their interactions with the AWS architecture.
Please ensure that the diagram is clear, well-organized, and easy to understand, effectively showcasing the relationships between the various components and services within the AWS infrastructure.