trafficlight

A Vue.js project

Demo

https://traffic-light-from-stasya.netlify.app/#/yellow

Build Setup

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run start

# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report

For a detailed explanation on how things work, check out the guide and docs for vue-loader.

Description

Oдностраничное приложение (SPA) - эмулятор светофора.

Приложение представляет из себя модель светофора и имеет 3 экрана: Экран 1: горит красный (зеленый и желтый тусклые/полупрозрачные) Экран 2: горит желтый (зеленый и красный тусклые/полупрозрачные) Экран 3: горит зеленый (красный и желтый тусклые/полупрозрачные)

Роутинг приложения настроен таким образом, что при вводе адреса в адресной строке можно открыть любой из экранов Например: ‘/red’ - экран 1,
‘/yellow’ - экран 2,
‘/green’ - экран 3.

Запуск работы светофора происходит сразу после открытия приложения. Светофор может начинать свою работу с любого сигнала, в зависимости от открытого экрана, и работает циклически: красный('/red') -> желтый('/yellow') -> зеленый('/green') -> желтый('/yellow') -> красный('/red') -> желтый('/yellow') -> ... При смене сигнала также меняется роут (адрес в адресной строке).

Красный горит 10 секунд.
Желтый горит 3 секунды.
Зеленый горит 15 секунд.

Дополнительные задания:

  1. Реализовн таймер, показывающий сколько секунд осталось до смены сигнала светофора.
  2. Реализован механизм, позволяющий сохранять состояние светофора и запускать его работу с того же момента при перезагрузке страницы.

Приложение написано с использованием фреймворка VueJS и собирается с помощью Webpack. Приложение не имеет глобальных зависимостей.