Необходимо реализовать веб-приложение momentum, аналог расширения.
В приложении есть часы, дата, слайдер изображений, виджеты погоды, список задач.
- Состоит из города (текстовое поле)
- Отображения температуры
- Отображения текущей погоды (дождь/солнечная/снег/пасмурно)
Функционал:
- Для определения текущего города использовать geolocation api, город по умолчанию — Краснодар
- Для хранения населённого пункта используется локальное хранилище — local storage.
- Для получения прогноза погоды использовать список api (любой из списка можно использовать)
- Динамическая смена обоев в зависимости от текущего времени
Функционал:
- Для динамической смены обоев дано 4 картинки, и каждая картинка соответствует определенному промежутку времени, например, если сейчас 15:00, то показываем картинку из промежутка 12:00 - 18:00
- Каждому промежутку соответствует свое изображение:
00:00 - 06:00-https://github.com/digitalSector47/traineeship-test-task/images/01.jpg
06:00 - 12:00-https://github.com/digitalSector47/traineeship-test-task/images/02.jpg
12:00 - 18:00-https://github.com/digitalSector47/traineeship-test-task/images/03.jpg
18:00 - 00:00-https://github.com/digitalSector47/traineeship-test-task/images/04.jpg
- Отображение времени в формате
hh:mm:ss - Отображение даты в формате текущий день и текущий день недели, пример:
09 сентября, понедельник
Функционал:
- Время изменяется каждую секунду
- Для работы приложения используем текущий часовой пояс
- Поле для ввода новой задачи
- Список всех задач (состоит из чекбокса, названия задачи и кнопки удалить задачу)
- Кнопка удалить выполненные задачи
Функционал:
- Добавление новых задач осуществляется при нажатии на «Enter»
- Если поле для ввода новой задачи пустое — появляется ошибка
- Функционал удаления задачи из списка, у каждой задачи должа быть кнопка удалить
- Функционал перевода задачи в статус выполнено осуществляется при нажатии на чекбокс в списке задач
- Функционал удаления выполненных задач
- Приложение проверяется в браузере Google Chrome последней версии
- Можно использовать Bootstrap, Material Design, Css-фреймворки, Html и Css препроцессоры
- Не разрешается использовать jQuery, другие js-библиотеки и фреймворки
- js-код приложения должен быть читаемым, без минимизации или обфускации
- Работа с dom-элементами
- TextContent
- Дата и время
- Date.prototype.toLocaleTimeString()
- Date.prototype.toLocaleDateString()
- Рекурсивный setTimeout
- Шаблонные строки
- Тег <input>
- Страница: DOMContentLoaded, load, beforeunload, unload
- localStorage
- Dведение в браузерные события
- стили и классы
- Изменение документа
- Асинхронность в JavaScript
- async/await