https://github.com/dariadia/meleton
https://github.com/dariadia/meleton
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dariadia/meleton
- Owner: dariadia
- Created: 2024-03-04T17:17:15.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-06T14:35:09.000Z (over 2 years ago)
- Last Synced: 2025-01-22T08:27:12.871Z (over 1 year ago)
- Language: Vue
- Homepage: https://meleton.vercel.app/
- Size: 553 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-ru.md
Awesome Lists containing this project
README
# Meleton тестовое задание
## Об этом приложении
- [Nuxt.js v.2.x](https://nuxtjs.org)
- [Vuetify v.2.x](https://vuetifyjs.com/)
- SPA
## Build Setup
```bash
# установить зависимости
$ npm install
# запустить в дев-режиме с hot reload localhost:5005
$ npm run dev
# собрать для прода и запустить сервер
$ npm build
$ npm start
```
## Функциональность
- Пользователь может добавить/редактировать/удалить событие;
- Редактировать можно: название, текст, время и тип события; цвет сменится автоматически по привязке тип события – цвет (*);
- Каждому типу событий в настоящее время соответствует определенный цвет (* упрощение и возможности для улучшения);
- Для каждого события пользователь должен установить: название, описание, время начала и окончания, он может либо ввести тип события, либо выбрать его из списка;
- Если пользователь нажимает на день, а не на кнопку «добавить новое событие», то дата в новом событии вводится в соответствии с датой в календаре, на которую пользователь нажал. Время устанавливается на «00:00», если щелкнуть в режиме просмотра «Месяц», или на время, на которое пользователь нажал в режиме просмотра «Неделя/День». Пользователь может все править, если захочет.
– Если пользователь нажимает на дату вне текущего месяца, то она подставляется в событие, а календарь открывается на том месяце. Например: открыт март, пользователь жмет на 29 февраля – в событии подставляется 29/02 00:00 и календарь листается на февраль;
- Если пользователь нажимает "добавить новое событие" – все поля пустые;
- Если пользователь начал создавать новое событие – но не сохранил его – и закрыл, то поля обнуляются и новое событие нужно заполнять заново;
- При клике на конкретный день предлагается форма во всплывающем окне, где предлагается создать новое событие на данный день. Поля формы должны проверяются на корректность введенных данных и заполнение. Все поля обязательны;
- Все данные сохраняются локально в LocalStorage;
- Если до отмеченного события остается 1 час (если страница приложения была открыта раньше) или меньше (т. е. Допустим клиент открыл приложение за 23 минуты до события) — на основном экране приложения должно появится диалоговое окно с уведомлением (текст уведомления) и кол-во минут оставшееся до начала события. У этого окна цвет типа события оповещения. Диалоговое окно можно закрыть;
- Пользователь может нажать на кнопку рядом с названием открытого в календаре месяца и выбрать другую дату через всплывающий в другом окне календарь. Для случаев, когда ему, например, нужно открыть на год вперед;
– Пользователь может переключаться между "открытый месяц" – прошлый/следующий с помощью стрелок наверху календаря;
– Кнопка "сегодня" вернёт пользователя на текущую дату;
### Событие включает в себя:
- Дата и время события;
- Продолжительность события (если кол-во часов выходит за пределы дня, то визуально событие продолжается на следующие дни);
- Тип события (День рождения, Встреча, и т. д. Пользователь может выбрать из имеющихся вариантов или дополнить этот список свои вариантом);
- Текст уведомления (до 300 символов);
[Заметки и комментарии](https://github.com/dariadia/meleton/pull/2#issuecomment-1978955560), что можно улучшить в этом решении.
"Всё что можно улучшать" отмечено комментарием "simplification".