Диплом, часть 1. Главное начать

Published • 2 min read

#Diploma, #Education

Итак, 4 курс. В конце этого учебного года надо защищать диплом.
За процессом написания диплома надо как-то наблюдать, ну а чтобы как-нибудь потом порефлексировать, буду сюда писать небольшие посты.

В любом деле самое сложное - начать. Благо, начать писать диплом мне помог Hacktoberfest. А как именно - я рассказал на последнем митапе WebPurple.

В целом, всё, что я получил от Open Source сообщества - заготовки общих концепций. Нужно переходить к конкретики.

Результатом моего диплом, в теории, должно быть готовое программное обеспечение, решающуе какую-либо проблему. Моя тема - “ПО для организации мероприятий”. Под мероприятиями подразумеваются митапы, конференции, etc. Тема несложная, что и как должно работать я понимаю, поэтому с продумыванием реализации проблем возникнуть не должно.

С технологиями я решил чуть-чуть подзагнаться (хотя мог бы взять PHP и нашлёпать за день), поэтому буду писать диплом с надеждой изучить что-то новое и закрепить знания в том, что знаю.

На клиенте у меня будет типичная связка React + Redux, к которым я прикручу TypeScript (ибо давно хотел его подробно пощупать), а так же SASS (чтобы стили просто писались).
На сервере будет NodeJS и Epress, а в качестве БД - MongoDB с Mongoose. Этот стек серверных технологий мне кажется наиболее подходящим для текущей задачи, да и он мне интересен сильнее других.

Так как относительно недавно я открыл в себе интерес к DevOps, то всё это должно быть максимально автоматизировано, тестироваться, деплоиться и выполнять трюки само. Для этого я планирую использовать GitLab CI (потому что он клёвый).

Именно с CI/CD я и начал. Попытался сделать конфиг, который бы деплоил приложение на Express на Heroku. Вышло что-то типа этого:

stages:
  - heroku

before_script:
  - apt-get update -y
  - apt-get install apt-transport-https -y

deploy:
  stage: heroku
  script:
    - apt-get update -yq
    - apt-get install rubygems ruby-dev -y
    - gem install dpl
    - dpl --provider=heroku --app=el-dev --api-key=$HEROKU_API_KEY

К моему удивлению всё это с первого раза задеплоилось и заработало, исключая SSL-сертификаты, но это уже проблемы моего конфига Cloudflare.

На этоп часть первая окончена, следующим шагом планирую написать все конфиги (babel, webpack, etc) для development и production.

Production-билд будет крутиться на diploma.ifedyukin.ru.

© Igor Fedyukin 2009 - 2020