npm install -g @angular/cli
git clone https://github.com/jonborchardt/jb-teaser.git
cd jb-teaser
npm install
ng build
ng serve --open
This project was generated with Angular CLI version 1.7.0.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the -prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.
This was done quite quickly.... There are many todos in the comments. I am in NO way happy with the visual look and feel nor the total functionality, but that is the reality of a time based release.
Bucket 1 DONE
- The user should be able browse through the line-item data as either a list or table (ie. pagination or infinite-scrolling).
- The user should be able to edit line-item "adjustments".
- The user should be able to see each line-item's billable amount (sub-total = actuals + adjustments).
- The user should be able to sort the data.
- The user should be able to output the invoice to *.CSV, *.XLS, etc.
- The user should be able to customize the layout.
Partial Done, rest VNext
- The user should be able flag individual line-items as "reviewed" (meaning they are disabled from further editing).
VNext
- The user should be able to see sub-totals grouped by campaign (line-items grouped by their parent campaign).
- The user should be able to see the invoice grand-total (sum of each line-item's billable amount).
- The user should be able to archive line-items
Backlog
- Multiple users should be able to edit the same invoice concurrently.
- The user should be able to browse/filter/sort the invoice history, as well.
- The user should be able flag "campaigns" as being reviewed, as well.
Bucket 2 DONE
- The user should be able to add comments on an individual line-item.
VNext
- The user should be able to filter the data (ie. by campaign name, etc., should affect the grand-total).
Backlog
- An integration into an external service that makes sense (eg. a currency conversion service, an export to Amazon S3, etc)
- The user should be able to share and reuse filters between users.
- The user should be able to see a history of all the adjustments/comments/changes/etc. made to the invoice by different users.