Наконец-то вышел из Ruby on Rails!

Итак, мне предстоит целый год самостоятельной работы во Flatiron, и я наконец добрался до конца раздела Ruby on Rails. Я чувствую себя немного подавленным, думая, что мне потребовалось около года, чтобы избавиться от Ruby, но в то же время я действительно чувствую себя разработчиком сейчас. Это означает, что я знаю, как использовать Google, чтобы узнать правильный синтаксис, и меня не совсем смущает то, что я вижу!

Этот проект требовал от меня демонстрировать это на каждом этапе пути, и я был поражен каждый раз, когда находил решение, не нуждаясь в помощи учителя. Теперь, когда мне нужно было небольшое руководство, они были чрезвычайно полезны (привет Дастину, Аяне и Элис), но мне хотелось бы думать, что я понял большинство вещей самостоятельно (с помощью Google, ха-ха).

Итак, небольшая предыстория: с тех пор, как я начал свой путь во Flatiron в прошлом году, я пытался найти способы установить контакты и поставить себя в правильное положение, чтобы получить работу, когда я буду готов, без СЛИШКОМ большой помощи со стороны школы. Хотя я довольно интроверт, поэтому я хотел правильно себя позиционировать. В конце концов я стал волонтером на конференции Codeland на Манхэттене, потому что в то время я не мог позволить себе билет. Это был удивительный опыт, и единственное, что я хотел бы изменить, это то, что я попытался бы быть социальным немного раньше. Я участвовал в семинаре под руководством Ави, главы школы Flatiron, и помогал координировать деятельность виртуальной реальности на афтепати конференции. В целом, у меня был отличный опыт и идея выйти в сеть, впитать отличную техническую информацию и в то же время зайти за кулисы, и все это по цене …..НОЛЬ долларов было тем, что я с радостью ожидал сделать снова.

Теперь, как мы все знаем, это был очень трудный год. Я только что зарегистрировался в качестве волонтера еще на 2 конференциях и надеялся стать узнаваемым лицом среди своих сверстников, вырвавшись из своей зоны комфорта и ведя себя суперсоциально, но появился COVID 19 и все испортил. Было достаточно трудно найти эти конференции (подробнее об этом позже).

С тех пор все конференции были либо отменены, либо перенесены, либо реорганизованы в удаленные. Так что теперь я застрял, пытаясь подключиться к сети, что мне кажется намного сложнее. Вы не можете читать язык тела людей или просто вступать в разговор, не выглядя немного странным, потому что я думаю, что социальные сети могут быть очень кликабельным местом. И по сей день я не смог найти отличный ресурс о том, когда состоятся технические конференции (теперь удаленные). Я даже считаю, что крупные, такие как Microsoft Ignite и Apple WWDC, трудно найти, если вы не в курсе, и это продолжалось, даже когда мы могли выйти на улицу.

Может быть, я живу под скалой или не так обособлен от технического сообщества, как должен был бы (опять же, клики), поэтому я часто гуглю что-то вроде «технические конференции 2020» или что-то в этом роде, и результаты всегда неоднозначны и не включить материал, который я действительно ищу. Поэтому я решил создать сайт-оболочку, который сделал бы это максимально простым. Я бы хотел, возможно, помочь сделать эти вещи более доступными для новичков, таких как я, или посторонних, которые не подписаны на «правильных» людей в Твиттере, но пока это то, что у меня есть.

А теперь о проекте. Настройка была довольно простой; Мне пришлось создать базовую структуру mvc с моделями, которые «имеют много» и «принадлежат» друг другу. Нарисовав диаграмму моделей, которые я хотел включить, я решил, что «Пользователи» будут «иметь_много» пожертвований, а «Конференции» будут «иметь_много» пожертвований, что создаст отношение «многие ко многим», которое я находясь в поиске. Кроме того, у пользователей будет свой собственный user_interest, а на конференциях будут семинары!

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Ex:

класс Конференция ‹ ApplicationRecord

has_many :пожертвования

has_many :пользователи, через: :пожертвования

has_many :мастерские

accepts_nested_attributes_for :workshops, reject_if: lambda {|атрибуты| атрибуты[‘имя’].пусто?}

класс Пользователь ‹ ApplicationRecord

has_secure_password

has_many :пожертвования

has_many :конференции через: :пожертвования

имеет_один :user_interest

проверяет :email, присутствие: true

проверяет :имя, присутствие: true

подтверждает :пароль, длина: {минимум: 6}

конец

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Пользовательские представления потребуют от пользователей отправки формы user_interest после регистрации. Это даст администраторам информацию об опыте работы с кодом каждого пользователя, его истории и о том, ищут ли они работу.

С другой стороны, когда администратор создает новую конференцию, он отправляет информацию о семинарах, которая будет отображаться на странице показа конференции.

Корневой путь, который является индексной страницей конференции, может просматривать каждый, независимо от того, вошли они в систему или нет. Это базовая таблица с полями для всей информации о конференции. Однако, чтобы зарегистрироваться на конференцию, вы должны войти в систему, и есть предупреждение, которое сообщит вам об этом. Когда они вошли в систему, они могут отправить пожертвование, и если оно больше или равно минимальной сумме пожертвования для конкретной конференции, они официально зарегистрированы для участия в конференции!

Честно говоря, теперь, когда я это объясняю, приложение звучит намного проще, чем должно было быть 🤦🏻‍♂️. Хотя это был отличный опыт. Омниаут определенно был самой сложной частью; мне буквально потребовалось больше недели, чтобы заставить его работать, но это просто еще один пример того, как я гуглил свой путь к успеху!!! Как настоящий программист, ха-ха, на Javascript…. 😳