Skip to content

matass/product-list-app

Repository files navigation

Product list app

Single-page Product list application – interview task

Built With

Back-end

  • Ruby '2.4.0'
  • Rails '5.2.4'

Front-end

  • Webpack '5.2'
  • Vue '2.6.12'

Instalation

Download source code form github

git clone https://github.com/matass/product-list-app

Navigate to prject folder and install Bundler

gem install bundler

Back-end

Install dependencies

bundle install

Run migrations

 bin/rails db:migrate RAILS_ENV=development

Front-end

Install Yarn package manager (I was using Homebrew on MacOS). Read more

brew install yarn

Run yarn to install all dependencies for a project

yarn install

Running project

In one terminal tab run webpack dev server

./bin/webpack-dev-server

In another – rails server

rails s

Front-end

The 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.

Tests

To test project run rspec from command line

rspec

Implementations

  • Circle CI to run tests (github)

Things to improve, implement and refactor

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors