- The candidate should implement and deploy the application as defined below
- The code should be available on a github open repository
- The application must be running on a free heroku's account
- The candidate must provide the github's url and heroku's url for our evaluation
- A Readme should be available in the source code with instructions for usage, deploy and development of the application
I want to manage my deals and estimate the probability to achieve my sales goals.
Functional Requirements:
- I want to be able to sign in/sign up by email/password;
- I want to be able to create/replace/update/delete deals;
- I want to be able to search deals by any information;
- I want to be able to order deals by any information;
- I want to be able to define a expected closing date for a deal;
- I want to be able to mark a deal as 'won' or 'lost';
- I want to import deals from a Pipedrive Account
Create a free Pipedrive trial account for this test:
- It should be a WEB application:
- For the client side, use HTML5, CSS3, Bootstrap, JavaScript, and jQuery;
- For the server side, use Ruby on Rails.
- It should have client side and server side validation;
- It should work like a single-page WEB application and should use AJAX technology (load and submit data without reloading a page);
- It should have a user authentication solution. The user should only have access to his/her own deals (Devise, Cancancan);
- It should have automated tests for all functionality (models - RSpec, controllers - RSpec, acceptance/functional tests - RSpec + Capybara);
The result should be similar to the screens and use cases below
- User login on App
- Go to Main Screen and list user deals
- On this screen user can CRUD Deals
- User can Import Deals from a Pipedrive Account
+ Deals:
Customer: [_________________________]
Description: [__________________________________]
Value: [________________]
[Add Deal]
[Import Deals From Pipedrive]
**Current Deals: US$2,5B **
[_______________________] [Search]
Customer | Description | Status | Closing Date/ Probability | Value | Actions |
---|---|---|---|---|---|
Acme | Multi Billion Dollars Sale | Won | 03/03/18 | US$ 2,5 B | Edit Destroy Won Lost |
W&B | Multi Million Dollars Sale | Pending | In 25 days70% | US$ 2,5 M | Edit Destroy Won Lost |
Acme | Multi thousand Dollars Sale | Lost | 03/02/18 | US$ 2,5 K | Edit Destroy Won Lost |
|< < Page: n of nn > >|
- From main screen select [Import Deals from Pipedrive]
- Open a Popup Window
- Inform Pipedrive token and connect (Save token on session for future imports)
- Select Pipeline and update Owner Combo with Ajax (Save selected queue on session for future imports)
- Select Owner and update Deals list with Ajax (Save Selected Salesman on session for future imports)
- Select Deals to Import, Import Deals and go back to main Screen.
Import Deals from Pipedrive
Pipedrive Token: [___________________________]
[Connect]
Pipeline: [__________________-][>]
Owner: [__________________-][>]
Deals (For the Salesman Above):
[_] Customer - Deal ….. - Value
[_] Customer - Deal ….. - Value
[_] Customer - Deal ….. - Value
[_] Customer - Deal ….. - Value
[_] Customer - Deal ….. - Value
[Import All Selected Deals]
Cancel
[_] : Check Box
[__________________-][>] : Combo Box
[___________________________] : Text Box
[Connect] : Button
Cancel : Link