Challenge Overview
Project Overview
This is a simple web application we’re building to help customers convert a spreadsheet file with payroll data into a required .csv file format. The tool will accept an uploaded spreadsheet / text / csv file, match the data to an approved structure, allow the user to confirm the mapping, and provide messages/warnings about errors or inconsistencies.
Competition Task Overview
In this challenge we need to get the file upload and validation API implemented:
- You must implement an endpoint which accepts the upload of a spreadsheet / text / csv file, performs the required validation and returns the validation results. For detailed validation rulels please register to download the document we provide in the forum.
- For spreadsheet and csv files, parsing should be relatively straightforward since they are both structured data
- For text file, assume each field will have fixed width and there will be no delimeters in the file. For width of each field, refer to the requirements document we provide in the forum.
- Please note both the file level validation rules and the field level validation rules must be implemented
- Provide detailed deployment and verification guides.
- Provide unit tests for the API, you need to thoroughly test the validation rules with invalid samples and valid samples. You can use the sample files we provided as based and modify them to create more test files, make sure you include all the sample files used by your code (including testing code) in your submission.
- The code must be deployable as Azure Web Services
Please register to download the other detailed documents from the challenge forum.
Technology Overview
C# / .NET 4.5 (Required Version)
ASP.NET MVC
Azure
SQL Server / Azure SQL Database
REST
Swagger
Final Submission Guidelines
Submission Deliverables
- Full API code that covers all requirements, including unit tests
- Deployment guide for the API
- Swagger documentation that matches final API
- Verification guide for the API
- Test files to test different cases of the API