Языковой проект Go

С 30 ноября 2020 года по 17 декабря 2020 года команда курса Go Language приступила к индивидуальным проектам. Мыслительный процесс и исполнение будут записываться здесь в течение срока проекта.

Идея
Мозговой штурм идей начался после брифинга по проекту 30 ноября. Он должен был решить реальные проблемы по следующим двум категориям:

• Поддерживать системы или инициативы по решению проблем, связанных с Covid-19 ИЛИ
• Умные решения для изменения климата и устойчивого развития.

Конечно, нам пришлось использовать язык Go и внедрить все, чему мы научились за последние 6 сессий, включая расширенные типы данных, микросервисы, параллелизм, пакеты, контейнеризацию и многое другое.

Я подумал о болевых точках, с которыми недавно столкнулся в своей жизни, одна из которых заключалась в том, чтобы завести новую привычку ездить по местам на велосипеде как вид транспорта. Из-за ограничений Covid19 мне было трудно мотивировать себя заниматься спортом, и я начал есть, спать и работать.

Именно тогда я решил, что мне нужны перемены в жизни. Из-за того, что я работаю неполный рабочий день, мне приходится ездить в довольно много школ Министерства образования, и иногда мне приходилось выходить из дома в часы пик. Поэтому вместо того, чтобы пользоваться общественным транспортом и протискиваться со всеми остальными, я подумал, не смогу ли я совместить транспорт и физические упражнения вместе.

Однако, получив складной велосипед за 400 долларов, я понял, что это не так просто, шел сильный дождь, и чаще всего я таскал велосипед на метро и автобусах. В то время, когда я мог ездить на велосипеде, мне приходилось ездить по дорогам, делать развороты, чтобы избежать оживленных дорог. Однажды мне даже пришлось нести свой велосипед по подвесному мосту, потому что другого пути не было.

Я попытался найти в Интернете приложение для планирования маршрута, что-то, что могло бы сделать его более безопасным для велосипедистов, особенно начинающих, при движении из пункта А в пункт Б (я использовал пешеходный маршрут Google Maps). Есть несколько (например, Bikemaps, Map my ride), но все они не совсем соответствуют действительности.

Итак, я решил взяться за задачу и попытаться внести изменения в велосипедную инфраструктуру Сингапура.

Следовательно, мое предлагаемое решение: BikeTransport.

Это веб-приложение предоставит пользователям платформу для обмена местами для парковки велосипедов и советами о том, как перемещаться по Сингапуру на велосипеде. Кроме того, для тех, кто хочет продать аксессуары для велосипеда или приобрести их, есть тег «Покупки».

Функции

  • Страница «Исследуйте»
    Тег «Покупки» — для пользователей, которые хотят продавать аксессуары, связанные с велосипедом.
    Bike Parking — Пользователи, которые делятся информацией о парковке для велосипедов.
    Советы — Пользователи, которые делятся своими историями и впечатлениями от езды на велосипеде. Публикация — пользователи могут создать публикацию, нажав кнопку «плюс» в правом нижнем углу.

  • Просмотреть публикацию
    Связаться с пользователем — позволяет отправлять электронные письма и pushbullet-уведомления пользователю, опубликовавшему публикацию.

  • Погода
    Отображает районы с осадками в Сингапуре.

  • Маршруты
    Отслеживание — пользовательское устройство будет отслеживаться каждые 5 секунд
    Просмотр маршрутов — будут показаны нанесенные точки маршрута
    Удалить маршруты — можно удалять только маршруты, соответствующие учетной записи
    Тепловая карта — отображать все координаты в базе данных, показывающие маршруты горячих точек, пройденные сингапурскими велосипедистами.

  • Учетная запись
    Просмотреть мои сообщения — отображаются только сообщения, относящиеся к учетной записи
    Удалить сообщения – удалить ненужные сообщения
    Редактировать сообщения – изменить сведения о сообщениях
    Изменить учетную запись – изменить сведения об учетной записи пользователя , кроме имени пользователя

  • Регистрация/Вход/Выход

Используемые инструменты

  • Visual Studio Code
    IDE, используемая для этого проекта.
  • Github
    Чтобы хранить коды на облачной платформе и интегрировать некоторые действия Github для CICD.
  • Docker (SQL)
    Хранение данных в 5 таблицах: Users, Sessions, Posts, Routes, RoutePoints
  • Геолокация HTML
    Получение координат пользователей через подключенные устройства
  • Google Cloud Map API
    Платформа для построения записанных координат

Ресурсы

Свяжитесь со мной