Challenge Overview

Project Overview

PVBid enables the solar integrator to quickly generate ballpark pricing with minimal information. The pricing accuracy improves with additional information. Automated features generate custom proposal documents within minutes.

Challenge Overview

The goal of this challenge is to connect the provided AngularJS HTML app with backend REST API.

Challenge Requirements

Integration Requirements

  • Provided in challenge forums is a document that maps between the screens and the API endpoints that serve the screens' content.

    • All listed screens are required to be implemented in this challenge.

  • API endpoint is  http://commnerd.pvbid.com/rest/

  • The responses are in XML and JSON format. You need to set "Accept" header to specify the response format.

  • The client does not have a detailed api documentation, so if you are not able to get an endpoint to work properly then you have two options :

    • Ask question in forums, we will get client to answer it.

    • Try the existing PVBid application http://commnerd.pvbid.com/ as it is an angularjs app that communicates with php backend that works as proxy to the api, but the parameters to be passed are identical to the ones that should be passed to the API endpoint.

  • AngularJS will be used to fetch data from API.

  • AngularJS will be used to handle navigation between pages.

  • API will return error with status code = 500 and body will be xml with “msg” tag for errors.

    • For invalid login it will be msg with “access denied”. User must be redirected to login page in that case.

      • A “redirect” should be set to redirect user back to the page she was viewing before login.

  • All pages are responsive and must function as expected in responsive views.

Documentation

  • Provide readme/deployment guide to include steps to deploy the application with verification steps.

  • All code written in the challenge must be documented.

Hosting Requirements

Provide hosting script/details to host the AngularJS application in Apache.

Browser Compatibility

- IE9+

- Latest Google Chrome (Windows & Mac OS)

- Latest Safari (Windows & Mac OS)

- Latest Firefox (Windows & Mac OS)

- Tablet ( iPad browsers; Safari & Chrome, and Android browsers in both Landscape & Portrait mode)

- Smartphone (iPhone browsers; Safari & Chrome, and Android browsers in both Landscape & Portrait mode)

Documents

Provided in challenge forums :

  • AngularJS UI Prototype

  • API-Screens Requirements document

Technology

  • HTML

  • CSS

  • AngularJS

  • API

  • Javascript


Final Submission Guidelines

Deliverable

  • Source code that addresses the requirement.

  • Detailed deployment guide with verification steps.

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30049791