This is a web app where you can keep track of the wines in your wine cellar, based on data from the Wine.com Public API.
- Search for wines available on Wine.com.
- Add selected wines to your list.
- View details of wines in your list (label, name, vinyard, year).
- Add personal comment to each of your wine.
- Remove wines from your list.
- Sort by wine name, vinyard or year.
The application have been made using AngularJS 1.6 with a beta release of UI-Router (which supports AngularJS 1.5+ components). To be able to store wines on your unit, ngStorage have been implemented.
As grid system, I've chosen the Alpha 6 version of Bootstrap, to try out their rewrite of all components into flexbox.
As JavaScript styleguide I've chosen to rely onTood Motto's guide for AngularJS.
The JavaScript language is ES6, using classes, imports and exports, to mimic Angular 2's code style.
The code is bundled with Webpack.
The app builds on TravisCI and deploys to GitHub Pages (check the gh-pages
branch for generated code).
- By using the latest Bootstrap, there can be layout issues on IE9.
- The layout optimized for mobile only, and tested with Safari on an iPhone 6.
- To be able to save wines for later, be sure your phone does not have Private Browsing enabled.
- Add loading indicators, preferably using an httpInterceptor to toggle spinner on http calls.
- Add auto focus to Search field with an autofocus directive.
- Add an error handling if call to API fails, displaying an error message.
- Investigate if it's possible to check whether saving to local storage is possible, and if not, display a warning message.
- Add BabelJS and convert app from ES6 to ES5.