Перейти к основному контенту

Блог Димы Колосова

Wishlist JS

WishlistJS - это мой пет-проект на чистом JS. По факту это лёгкая html-страница со списком желаемого, конфиг для которого лежит в json.

Demo

Текущий дизайн

Текущий дизайн

Первоначальная идея возникла, когда в очередной раз не нашёл нормального сервиса для публичных вишлистов. В каждом была какая-нибудь проблема:

  • без резервирования;
  • без изображений;
  • допотопный дизайн;
  • странности работы.

В тот момент у меня уже был вишлист на основе блога Tumblr с темой-фотогалереей. Это было неудобно из-за UX личного кабинета, из возможностей фильтрации и сортировки были только теги, и, как последняя капля, у меня не всегда подгружались с него изображения (привет блокировкам).

Старый дизайн на Tumblr

Старый дизайн на Tumblr

Поискал альтернативы на гитхабе, но народ предпочитает такими пустяками не заниматься (это же не тудушницы писать!). Я нашёл несколько репозиториев в качестве показа очередной крутой архитектуры. В общем, решил писать свой. Стал думать, на чём, первые варианты — php (как полноценный проект для прикрепления к резюме) и python (вспомнить, подтянуть, попробовать не на простых скриптах). В голове был бэкенд, резервирование, модели Items.

Тогда я вспомнил про no-code пост Вастрика и понял, что бэкенд можно частично/полностью заменить на Airtable и там же заполнять всё (проблема админки решена).

Подумал ещё. Понял, что функция резервирования в моём случае не самая актуальная. Что хочу проще и без сервера. И так как планировалось веб-приложение – выбор пал на JS. А в связи с простотой отмелись всякие npm, сборщики и вообще современный фронтенд. Viva la Pure JS.

Сел и продумал все фичи, а потом поделил их на MVP и версии. Запилил репозиторий, расписал Issues и погнал.


MVP-версия была с конфигом прямо внутри репозитория, что затрудняло одновременные использование и разработку. Маячило решение в виде библиотеки, но для этого пришлось бы в зависимости добавлять пакет-менеджер. Вспомнил про сабмодули git и сделал всё на их основе.

Помимо этого в версии 1.0 сделал нормальную мобильную версию, деплой на Netlify и свой сервер, описание предметов, мультивалюту и другие фичи.

Ещё много проблем предстоит решить, кучу всего улучшить, но вишлист уже удобен и им уже пользуюсь я и близкие мне люди. Я доволен.