Challenge Overview
Overview
- In this challenge you will build out an ASP.NET website, containing just one form, using Web Api ,Bootstrap and HTML5
- The purpose of the web form is to allow the user to enter his registration details.
- Your goal is to create a production quality website by following the provided coding conventions.
Detailed Requirements
Front End
- The form should be build using HTML5 and Bootstrap in an Aspx page
- The UI of the form should look exactly like the Design shown in the design files. (attached to forums)
- You can use CSS from the existing site : http://www.aftermarketserviceproducts.com
- Refer to 150610_Web_Form_Content.xlsx (Attached in forums) for detailed list of controls, UI logic , validations and messages to be implemented on the form.
- Refer to muni form requirements version2.pdf(Attached in forums) for any UI constraints, descriptions and Labels not present in the UI design.
- Do not include the Header and Side bar in the form.
- Some of the fields are dependent on selections made on prior fields
- Use Jquery to implement the dynamic controls logic and UI Validations.
- The user should be able to upload a file. The File input should be filtered to accept PDF , .txt and Word (.doc .docx) only and Size should be <10M
-
If file size exceeds maximum limit (10MB), Show an error message: "File Exceeds Maximum Limit (10MB). Please contact ASPHelp@daimler.com for assistance." This message should be Configurable
- Integrate Google’s reCaptcha into the form
- All user inputs , including Captcha should be validated before the form is submitted
- The form should be work in IE(8,9,10,11), Chrome, Firefox, Safari
- The form should be work on PC and Tablets
Server Side
- The user should be able to submit the form after all the inputs are validated.
- When the user clicks the Submit button, 2 emails should be created and sent
- Email 1: Request for Quote Email to Configured Internal User
- Email 2: Confirmation Email to the user
- Details for Email 1:
- Subject: should be picked up from the Web config . Set it to “Request for Coverage”
- Recipient: Should be picked from the configurations
- From: Should be picked from the configurations
- Reply to: Should be picked from the configurations
- Attachment: File Uploaded by the User
- Body: The email body should be a bulleted list of the user’s selections and inculde a configurable message
- For example :
- Hi,
- A new Request for quote has been generated:
- Government / Municipality: XYX
- Coverage Type: Engine
- ect.
- Details for Email 2:
- Subject: should be picked up from the Web config .
- Set it to “Confirmation of Request for coverage”
- Recipient: This is the email entered by the user in the form
- From: Should be picked from the configurations
- Reply to: Should be picked from the configurations
- Attachment: No attachment
- Body: The email body should be a bulleted list of the user’s selections (Same as Email 1) and inculde a message. The message template should be configurable
- For example :
- Hi,
- This is a reciept for your request for quote. This is an auto generated email. If you have any questions , please forward them to email@email.com
- Your selections are:
- ���Government / Municipality: XYX
- Coverage Type: Engine
- ect.
- On success redirect to Confirmation page
- In case of an Error, show the error message on the top of the form.
- Error messages are described in the 150610_Web_Form_Content.xlsx (Attached in forums)
- The outgoing Email server should be configurable
- The URI Template should be configurable
- All messages should be configurable
- All configurations should be in web.config
Error Handling
- All the exceptions should be logged in a file using log4net.
- Exception handling conventions, as detailed in "Coding Conventions 1.3.pdf" , should be followed.
Code Quality:
- You need to strictly follow the coding conventions.
- Follow the coding conventions described in the "Coding Conventions 1.3.pdf" provided in forums
- There should be no hard coded configurations. Email Configurations and messages should be configurable.
Architecture
- Build the Website with WebApi
- Code should be Modularized with separate controllers for UI logic, Email messaging and logging
Development Environment:
- Visual Studio 2013
- Dot.Net 4.0
- Web Api
- IIS 8.0
- Bootstrap v 3.3
- jQuery v1.11
- HTML5
Final Submission Guidelines
Submission Deliverable
- Upload entire Source Code (Entire VS 2013 project workspace) as your submission.
- Include Deployment Guide with detailed steps to deploy on IIS and verify the deployment
- Provide detailed guide to configure the Website
- Video Demo of your solution and Code walk through
- Host your solution so that it can be functionally verified (good to have)