Question: Test: Upload Documents and Email the documents. Technology Required: ASP.NET Core, RabbitMQ and SQL preferably MSSQL. Task 1 1. Create an API that will accept
Test: Upload Documents and Email the documents.
Technology Required: ASP.NET Core, RabbitMQ and SQL preferably MSSQL.
Task 1
1. Create an API that will accept very little Personal Data about the user which must include name and email address.
2. Alongside the personal information, the endpoint should allow the user to upload any number of images/documents. Individual file size must not exceed 2MB. Choose the most optimized and performant way to handle storage of the documents.
3. The program must use the Documents name as the Document Title. (The document title will be used when displaying the uploaded documents in Task 2).
4. The API should be able to give the user a unique reference number.
5. On Submission, the uploaded documents must be sent to the users email address as attachments i.e. the specified email in step 1 above. (using RabbitMQ pub-sub)
Task 2
1. Create an API that takes an email address and reference number to verify previous submission.
2. The endpoint should return the personal information alongside the metadata about the uploaded documents. The metadata should contain a link to download the document
3. If an invalid email/reference number is used, an appropriate error message should be displayed.
General
Use CQRS pattern
For Sending emails, use any email sender API
Bonus points for having multiple email sender provider
Bonus points for using GIT well
Bonus points for adding CI/CD with Github actions
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
