Coder Social home page Coder Social logo

codingchallenge-elevator's Introduction

Example VueJS App for Elevator GmbH ๐ŸŒฑ

This is a coding challenge made for Elevator GmbH. It features a fully functional shopping list PWA made with Vue.js 3 and Vuetify, storing its data in the local storage.

Task

The task is to develop a shopping planner app (Product, Quantity, Optional Due Date, Not Done/Done) with very basic functionality (add/edit/delete product).
The implementation should be as a Progressive Web App (PWA) developed with the JS framework Vue.js and Material Design. The PWA should be responsive and operable on a desktop, tablet, and smartphone.
There are no specific visual guidelines, so you are free to be creative. However, the focus is not on the design but on the technical implementation. Please create at least one test.
The application can optionally be extended by 2 PWA features:

  1. The data should be stored in the browser's local storage.
  2. When the due date is reached, a push notification should be sent.

Implementation

I have used a basic installation of Vue 3 with no backend for this challenge.
I have implemented the task inside of 2 Vue components: ShoppingListView handles most functionality, while EditProductDialog manages editing a single entry via a popup dialog.
Additionally there is a utils folder holding all re-usable code.

To achieve the wanted functionality with simple and modern UI design I used the following libraries:

  • Vuetify - A Material Design Vue component framework.
  • I18n - A internationalization-framework hooked up to browser settings.
  • vue-screen-size - Provides screen sizing as global variables.
  • Jest - Unit testing using Jest.
  • Self written basic SCSS ๐Ÿ‘ทโ€โ™€๏ธ - A small SCSS library containing responsive styling.

โ— The project has no backend, which means I did not implement push notifications. โ—

Desktop View
desktop.png

Mobile View
mobile.png

How to run

  • Install - cd ./client ๐Ÿ‘‰ npm i
  • Run - cd ./client ๐Ÿ‘‰ npm run serve
  • Build - cd ./client ๐Ÿ‘‰ npm run build
  • Test - cd ./client ๐Ÿ‘‰ npm run test:unit

codingchallenge-elevator's People

Contributors

dajospatryk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.