Challenge Overview
Project Overview
WWF is a web application that allows comparison of reported trade data to identify discrepancies in reports of imports and exports between countries.
This challenge is part of the Living Progress Build Challenge Blitz program.
Competition Task Overview
For this challenge, we’ll need to build a small portion of the functions, including both backend and frontend pages. More specifically the tasks include the following:
1. Build backend web services using ASP.NET MVC Web API, the services must be REST and will need to cover the following:
1.1. Login (including Social Login)
1.2. Registration
1.3. User Profile Management (including upload of avatar)
1.4. Forgot Password (Let user enter their email and a password reset link is sent to their email so they can reset their password, the link should auto expire if not visited for a configurable period of time)
2. Implement the frontend pages from the provided prototype and wire them with the backend services. The frontend must be built with Angular.js and should cover the following pages:
2.1. Landing Page
2.2. Login Page
2.3. Register Page
2.4. Profile Page
2.5. Forgot Password (we don’t have a page for this in the prototype, but it’s a simple page that will let you to enter your email and submit, then the password reset page will just have two password fields for you to enter new passwords and submit, you can copy styles from other pages). Perhaps we can use the “Share Data” dialog shown below as a design/prototype model for this type of functionality. That will be consistent with the rest of the site.
3. For registration and profile pages, we only need the following fields:
3.1. Username
3.2. Password
3.3. Confirm Password
3.4. First Name
3.5. Last Name
3.6. Title
3.7. Organization
3.8. Country
3.9. Phone
3.10. Email
3.11. Twitter
On the profile page, we also need to have a checkbox next to each of these fields except for passwords, when user checks such a checkbox, it means that fields will be shown in their public profile that other users can view.
4. This challenge should set up a working web app, which will be used as base for upcoming challenges. Essentially there will be two separate projects that will be deployed independently from each other. The C# based backend project should be developed using Visual Studio, the Angular.js based frontend project can be developed using any text editor since it’s basically just CSS, Javascript and HTML.
5. For the backend services, you must provide unit tests and postman file to test the REST services.
6. For the frontend, make sure service root endpoint is configurable.
7. Please create some basic unit tests for the AngularJS code as well. You don’t need to be exhaustive in the front-end unit testing scripts but tests that cover important features and functionality will help us maintain the code moving forward and allow us to regression test your code as we add features.
8. All code must be well documented.
Technology Overview
C# / .NET 4.5+
Visual Studio 2015
ASP.NET MVC Web API
SQL Server 2012
REST
Angular.js
CSSFinal Submission Guidelines
Submission Deliverables
1. Complete projects that cover all the mentioned requirements
2. For the backend, we need a word based deployment guide with details on how to configure and deploy the services to IIS, and details on how to test / verify the REST services.
3. For the frontend, please provide a README in markdown format with details on how to deploy and test the pages.
Submission Guidelines
For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.