Рубрики
Без рубрики

От концепции жить Через две недели С Джанго

У моей команды было две недели, чтобы сделать жизнеспособный продукт. Мы были случайной группой людей, связанных с … Теги с Python, Django, Hackhathon.

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

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

Мы были назначены спонсору, директору Студенческая бездомность инициативное партнерство (судно) . Цель корабля – благородная. Партнерство стремится помочь бездомным в нашем округе, которые молодые. Эти бездомные молодости сталкиваются со многими проблемами, связанными с их здоровьем, образованием и основными потребностями, такими как еда и укрытие.

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

Наш план

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

Наш спонсор обеспечил целевые посты и уточнил то, что он хотел в финальном проекте. Нам нужно:

  • Возможность отображать локальный сервис (например, кладовая продуктов питания) и показать адрес, чтобы получить указания или номер телефона, чтобы позвонить или различные другие полезные факты о услуге.
  • Способ классифицировать различные виды услуг в некоторые логические группы для более легкой навигации.
  • Метод получения немедленной помощи человеку с нажатием потребностей.
  • Способ позволить местным жителям оставаться на связи с объявлениями.

Учитывая нашу композицию команды (то есть. У нас не было опыта создавать нативные приложения в Android и iOS, и у нас не было времени, чтобы пройти через просмотр и процессы одобрения App Store.

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

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

Принося приложение к жизни

Наличие риэлтора в вашей команде отлично подходит для работы с клиентом. Мой товарищ по команде смог очень тесно сотрудничать с нашим спонсором, чтобы выяснить, что было действительно желательно. Мы изначально получили краткое время от организаторов хакатонов того, что мы ожидали построить. После некоторых чатов со спонсором, что мы нашли, что он действительно искал что-то вроде Что мне нужно (выиграть) Приложение, построенное группой в Лос-Анджелесе, ок.

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

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

Мы знали, что наш спонсор по существу хотел клону приложения Win. Имея это в виду, это именно то, что я создал для версии 1 приложения.

Создание приложения

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

  • Джанго – Веб-каркас обеспечил все инструменты, которые необходимы для создания веб-приложения, поддерживающего база данных, которые могут отображать необходимую информацию.
  • Cipwind CSS – Эта структура CSS – чрезвычайно гибкий инструментарий, который дал нам возможность повторять внешний вид приложения очень быстро.
  • Heroku – Использование Heroku в качестве хостинговой платформы значительно упрощенное развертывание приложения до одной команды: Git Push Heroku Master

Поскольку мы уже были посвящены нескольким дням для исследования клиентов и расследования продуктов, у меня было только пару дней, чтобы построить приложение, если мы хотели продемонстрировать приложение для спонсора в конце первой недели.

К счастью, Django делает большую часть тяжелой подъема для начала нового проекта. В сочетании с моими прошлыми знаниями рамки и инструментами в экосистеме я разработал Win Clone. Модели Django для приложения были немного брошены, но я собрал достаточно кусков, чтобы иметь возможность отображать категории и услуги, которые нужно будет видеть пользователю.

Я не знал, какие данные наш спонсор хотел для Фредерика Поэтому я скопировал категории, которые я видел из приложения Win и использовал Tailwind, чтобы издеваться над подобным интерфейсом. (Pro Tip: Мне нужно было каждая из категорий, чтобы показать как другой цвет, но я не построил это в исходную модель. Используя цикл Тег шаблона, я смог показать уникальный цвет для каждой категории. Был хороший взлом для достижения визуального интереса, не усложняя модель данных изначально.)

В конце недели мы проделали демонстрацию спонсору. Для демонстрации я провел приложение локально на моем компьютере с ./manage.py. runserver. . Затем я подключался к NGROK И поделился URL по электронной почте, чтобы каждый из нас мог просмотреть сайт на наших собственных мобильных устройствах. NGROK – отличный инструмент, чтобы быстро поделиться своим местным ходом с другими людьми.

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

С одной недели, чтобы пойти, нам нужно:

  • Получить сайт на Heroku
  • Развивайте клонированный UI из приложения Win в чем-то лучшее для нашего собственного приложения
  • Добавьте функции, запрошенные спонсором

Мой первый приоритет был Героку. Я не хотел, чтобы приложение было то, что может работать только на местном веб-сервере разработки. Несмотря на то, что Heroku отлично, а Django работает хорошо на этом, есть некоторые настройки. Мне нужно было обновить различные конфигурацию для статических файлов и настроек чтения из переменных среды до того, как приложение было готово к работе. Whitenoise и Джанго-окружающая среда Есть два инструмента, которые делают приложения Django на Heroku намного проще.

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

Поскольку мы использовали Tailwind, интегрируя дизайн в основном включал обновление некоторых шаблонов Django и немного еще. Потому что Failwind настолько ориентирован на HTML, мне не пришлось выстроить HTML к определенной структуре, который соответствует указанному классу или идентификатору в файле CSS.

Наша окончательная функция для добавления была функция уведомления пользователя. Для этого приложения ресурса мы не хотели пользователя иметь вход в систему с именем пользователя и паролем. Работа с управлением пользователем для сообщества бездомных молодежи будет большой нагрузкой на обслуживание для некоммерческой организации. Вместо этого мы решили использовать список рассылки.

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

Чтобы сделать список рассылки удобным для нашего спонсора, я использовал Django’s Синдикация Freed Framework Чтобы создать RSS-канал для модели объявлений, которую мы встроили в приложение. Поскольку у нас был RSS-канал, мы могли бы подключить это к MailChimp автоматизация. MailChimp будет управлять списком пользователя и автоматически отправлять электронные письма при каждом обновлении объявлений RSS-файл. С точки зрения нашего спонсора все, что ему нужно сделать, это создать объявление на сайте администратора Django.

Это приводит нас к концу хакатона. В конце второй недели мы выполнили окончательную презентацию, где спонсоры и судьи хакатонов могут оценить окончательный продукт.

Мы выиграли! У меня хорошая футболка и мое имя в Местные технологии Новости Отказ

Post Hackathon Activity.

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

Наша последняя демонстрация произошла на автоматическом доменном имени на Heroku. Я работал со спонсором и сделал некоторую конфигурацию DNS, чтобы получить новый инструмент в соответствующем поддомене. Нам также нужно было заставить приложение доступно все время и получите его от свободного уровня Heroku, который приведет к приложению «спать», когда он не используется. Спящее приложение имеет плохой пользовательский опыт, поскольку это займет немного времени, чтобы начать снова, когда кто-то посещает сайт. К счастью, приложение настолько мало и имеет так мало данных, что некоммерческий может использовать хобби-ярус для крошечного законопроекта на 7 долларов в месяц.

Сайт живет сегодня, и вы можете проверить это. Помните, что он оптимизирован для мобильных устройств, но он также выглядит приличным в полном браузере тоже (благодаря дизайнерской работе и резьбу). Мы назвали приложение «корабль Haven», и это видно на https://haven.hipfrederick.com/ Отказ

Кроме того, вы можете просмотреть код! Мы сделали всю работу в TechFrederick Github Организация в Корабль репозитория Отказ

У меня действительно было очень хорошее время, вкладывая этот проект вместе. Время давления и работа с командой людей, которых я не знал, был веселым опытом, и я очень рад, что мы смогли произвести что-то, что может использовать наше сообщество. Если у вас есть возможность участвовать в местном хаконе в вашем сообществе, я настоятельно рекомендую! Я надеюсь, что вы узнали немного от нашего опыта.

Если у вас есть вопросы или наслаждались этой статьей, пожалуйста, не стесняйтесь сообщить мне в Twitter на @mblayman Или делиться, если вы думаете, что другие тоже могут быть заинтересованы.

Эта статья впервые появилась на mattlayman.com Отказ

Оригинал: “https://dev.to/mblayman/from-concept-to-live-in-two-weeks-with-django-4jmo”