Challenge Overview
INTRODUCTION
This is the second in a series of challenges to develop the front end for a REST generator web app. The web app accepts WSDL or JSON and generates the REST service and all necessary artefacts including property files, mapping files, Maven POM, etc.
REQUIREMENTS
For this challenge you'll be creating the front end for the web app and integrating the web services completed in a previous challenge. Your delivered solution should be styled to match the client's existing web presence.
Screens
The screens required for this challenge are outlined below. Be sure to provide a means for navigating to each screen. Integrate the Topcoder completed web services with the user functions for login, registration and profile update screens. Mock calls to the client completed web services should be used for the services generation screen. Use the latest version of Angular for frontend development. Wrap everything in the same Spring Boot project containing the web services.
Login/Register
-- Allows the user to login or register a new account
-- Provide a form that is used for both existing user login and new user registration
-- Login uses a combination of email/password fields
-- Register uses a combination of email/password/confirm password fields
-- Validate form fields - email should be a valid email address, passwords should match
-- Upon successful registration redirect the user to the Profile screen
-- The user must enter their payment details through Stripe checkout here
-- Disallow generation of services if they do not have an active subscription
-- Upon successful login redirect the user to the Services Generation screen
Password Reset
-- Allows the user to request a password reset and change their password
-- Provide two forms for the user on the same screen
-- #1 Entry of email address to send a reset token
-- #2 Entry of the reset token and a new password/password confirm
-- Validate form fields - email should be a valid email address, passwords should match
FAQ
-- Provides FAQ for the users
-- There is no content at this time - simply provide a blank page for this challenge
User Profile
-- Allows the user to update their email address, password and payment details
-- Provide a form for updating the above fields
-- Validate form fields - email should be a valid email address, passwords should match
-- Provide Stripe Checkout to gather a payment token and update on the Stripe customer
Services Generation
-- Allows the user to upload schemas and download generated microservices
-- General form layout and fields have been provided by the client
-- Outlined in Nine_Gold_Product_Page.pdf in the forums
-- Follow this document for screen layout and functions
-- Do not allow the user to generate services if a valid payment token is not associated to their account
-- The "Generate" button should be disabled in this instance
-- Mock out calls and functions to the client created web services
-- Outlined in Nine _Gold_Client_Services.docx in the forums
Web Services Resources
-- See the challenge forums for the web services source
-- The docs folder in the source contains
-- Swagger documentation (also viewable here)
-- Postman collection
-- README
-- Be sure to view the submission overview videos for services workflow
Style Guidelines
-- Follow the color scheme and look of the client's website
-- Full size client logo located in the challenge forums
-- Develop for compatibility with all modern desktop browsers
-- IE 11/Edge, Safari, Firefox, Chrome
Final Submission Guidelines
-- Guide describing how to deploy/run/test your submission
-- Source project and supporting files
-- Video overview of your submission