Привет, друзья! Сегодня хочу поделиться не просто результатом, а целым этапом: я наконец-то вынес свой погодный информер из «локальной папки» на GitHub и оформил как полноценный проект. Еще пару дней назад этот виджет жил только у меня на компьютере. Я открывал index.html, менял пару строк в JS, проверял, как смотрится иконка при дожде — и закрывал. Это было удобно для тестов, но совершенно бесполезно для роста. Держать пет-проект «в столе» — значит не дать ему шанса стать чем-то большим.
И вот вчера я сел и создал репозиторий. Казалось бы, что тут сложного? Но именно в мелочах прячется профессионализм. Расскажу, на что я обратил внимание, чтобы не превратить историю коммитов в хаос.
Переносим локальные файлы на сервер
Во-первых, я сразу взялся за .gitignore. Тут у меня случился свой маленький квест: хотел выбрать шаблон JavaScript, а его в списке не оказалось. Сначала даже растерялся — ну как так, самый базовый вариант, а нету! Потом выдохнул, почитал подсказки и понял, что стандартом тут считается шаблон Node. Он идеально подходит даже для простого HTML/CSS/JS-виджета, потому что сразу говорит Git игнорировать лишнее: папку node_modules, логи, файлы .env (где хранятся ключи от API) и настройки моей IDE. Теперь в репозитории будет только чистый код, а не мусор.
Во-вторых, я наконец-то подружился с Git-тегами. Признаюсь честно, раньше я грешил тем, что создавал папки project_v1, project_final, project_fixed — и сам потом путался, какая версия последняя. Теперь я сделал всё по уму.
Сначала я пометил стабильную сборку:
git tag -a v1.0 -m "First release"
А затем отправил теги на сервер:
git push --tags
На GitHub это автоматически создало красивый релиз. Теперь любой человек может зайти в раздел Releases и скачать архив именно первой версии, даже когда у меня выйдет v2.0 или v3.0. Это оказалось намного удобнее бесконечных папок.
Сейчас мой информер умеет показывать температуру, иконку и краткое описание погоды. Версия v1.0 залита, лицензия MIT добавлена, README написан. Проект официально стал open-source.
Развитие на будущее
Но самое интересное — впереди. Проект только начинается, и я хочу сделать его максимально полезным. У меня есть несколько идей на будущее: добавить прогноз на 3 дня, поиск города или переключение на темную тему. Но лучше всего знают будущие пользователи — то есть вы.
Что бы вы хотели видеть в таком виджете? Может, отображение влажности и скорости ветра, УФ-индекс или даже фазу луны? Пишите свои идеи в комментариях — самые интересные я возьму в работу и обязательно отмечу вас в следующих постах, когда буду реализовывать фичу.
А если вы тоже сейчас сидите над своим пет-проектом, который «живет» только на компьютере — не бойтесь выносить его на GitHub. Даже самый простой скрипт заслуживает истории версий и своего репозитория. И не переживайте, если сначала что-то кажется непонятным (как было с шаблонами у меня) — это нормально, мы все через это проходим.
Заглядывайте в репозиторий, чтобы следить за развитием: [ссылка]
Расскажите, а как вы храните свои учебные проекты? Используете теги или у вас свои методы? Очень интересно почитать про ваш опыт в комментариях!