Single-page Product list application – interview task
- Ruby '2.4.0'
- Rails '5.2.4'
- Webpack '5.2'
- Vue '2.6.12'
Download source code form github
git clone https://github.com/matass/product-list-appNavigate to prject folder and install Bundler
gem install bundlerInstall dependencies
bundle installRun migrations
bin/rails db:migrate RAILS_ENV=developmentInstall Yarn package manager (I was using Homebrew on MacOS). Read more
brew install yarnRun yarn to install all dependencies for a project
yarn installIn one terminal tab run webpack dev server
./bin/webpack-dev-serverIn another – rails server
rails sThe Main user interface has one main view to add, update, softly destroy products and tags. Application is using Axios package to call API endpoint for specific actions.
There are two forms:
- First form creates new product with tags.
- Second form updates or removes products. Also can simply add or remove attributes.
When removing tags – just crear tag input and update the product.
To test project run rspec from command line
rspec- Circle CI to run tests (github)
- Add Redis cache store
- Make more friendly UI and better UX
- Refactor tags update with nested attributes (Active Record way)
- Get rid of some of N+1 queries