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

Как мы получили наш 2-летний репо, тренды на Github всего за 48 часов

Автор оригинала: Abhinav Suri.

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

Я нашел себя в этой ситуации, зная проект для некоммерческого, на котором я работаю, Hack4Impact Отказ Это студенческая группа, которая делает Технические проекты для общественных организаций.

Вместе, мы построили Флэк-база , который служит кодом для котеля для всех наших продуктов. Он содержит некоторые основные скобы флэкса веб-приложения: SQLalchemy, redis Oneue и аутентификация пользователя (среди нескольких других функций).

Вы можете проверить наше репо здесь Отказ

Большое преимущество Flask-base – это то, что его «вилка и игра». Вам не нужно делать много настроек, чтобы получить бегущую версию на вашу машину (и очень легко получить его на хостингских услугах, таких как Heroku). Кроме того, это довольно босые по сравнению с множеством других приложений котельной, поэтому есть много места для настраиваемости.

Флэк-база была в развитии в течение двух лет, и она помогла нам сформировать ботинку для около 90% технических проектов, которые мы принимаем. Этот проект позволил создать продукты для таких организаций, как Кива , Осет , Ювенальный юридический центр и Гивология Отказ

Flask-Base позволил нам помочь сообществам организациям в Соединенных Штатах добиться социального воздействия, для которого они стремятся. Но, несмотря на наши усилия для публикации нашего кодекса на различных торговых точках, колб-база оставалась неизвестной всем, кроме нескольких людей, которые работали над этим.

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

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

Тогда мы получили наш момент. Я разместил наш проект к /r/python Подстраивание, и он получил небольшую тягу. Мы решили бежать с этим. В течение 48 часов наш репозиторий отправился с 9 звезд до 200 лет. И он продолжал расти.

Внезапно мы получаем комментарии и предложения от людей, которые были заинтересованы в проекте. Это было невероятно.

Эта статья о том, как мы получили колбу, где это сегодня. Если у вас есть эффективный проект, чтобы поделиться, вы можете реализовать наши предложения, (надеюсь) заметить в вселенной открытой конечной источнике и максимально использовать ее.

Начинается с исследования

Мы начали смотреть на примеры успеха. Народные репозитории на GitHub имеют тенденцию иметь несколько особенностей:

  • Readme с картинками/gifs товара в действии
  • Документация
  • Анализ статического кода
  • Вклад инструкций
  • Четко определенная секция установки
  • Логотип (полностью необязательно)

Некоторые отличные примеры отличных репозаготов для GitHub, чтобы посмотреть:

  • Реагистрационный маршрутизатор : 19k + звезды, 4,5 к + вилки. Помимо полезного для управления веб-приложениями в одиночном странице, React Router является одним из немногих репозиториев с выделенным учебным посохом о том, как использовать рамки. Он также имеет всеобъемлющее руководство по настройке вместе со ссылками на пользователи ошибок могут испытывать.
  • WebPack : 23.5K + звезды, 2,7 к + вилки. WebPack, возможно, один из лучших инструментов для современного интерфейса веб-разработки из-за его надежности и способности покрывать здание для многих разных версий браузера. Readme, безусловно, свидетельствует об этом с десятками значков и примера, использующих случаи, а также ссылки на документацию. WebPack также подчеркивает роль сообщества в поддержании проекта (в частности, путем выделения спонсора и разделов)

Хорошо, как насчет плохого примера репо GitHub:

  • abhisuri97/Учить : Да … Я звоню один из моих собственных репо, как плохой пример. Этот репо был для проекта хакатона, который я сделал, который выиграл Pennapps XIII VR/AR и получил топ-10. Это был мой единственный раз, когда он развивается с единством, отсюда, от, следовательно, большое количество файлов, которые являются посторонние и не должны преданы. Хотя существует отличное объяснение того, что делает проект, он не объясняет, как заставить его работать над чью-то системой или каковы функции.

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

A.g.d. (Устройство захвата внимания)

Ораторский и readme:

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

Ну … Readmes – это a.d.d. вашего проекта!

READMES – это первое, что увидит, что ваш посетитель сможет смотреть на ваш репозиторий. Таким образом, вы должны убедиться, что ваш Readme содержит важную информацию о вашем проекте.

Но что решают? Как вы снимаете внимание вашего посетителя?

Когда кто-то смотрит на ваш проект, они хотят знать:

  • что это
  • Насколько хорош код
  • Сколько доступна поддержки
  • Что входит в комплект
  • как это выглядит
  • И как они должны пойти в установку.

Давайте обратимся к каждому из этих вопросов.

Что это?

Это довольно простой вопрос, чтобы ответить на большинство репозиториев, но многие люди делают это неправильно. Ваш проект один из миллионов. У вас есть небольшое количество времени, чтобы произвести впечатление.

Опишите свой проект в Tweet (около 140 символов). Это нормально, чтобы оставить детали. Это то, для чего есть раздел функций. Логотип также помогает с этим, потому что он будет отличить имя вашего проекта с простого черного и белого текста README (а также показывает, что вы прилагаете усилия в создание логотипа).

Насколько хорош код?

Этот вопрос, вероятно, является тем, что 90% репозиториев не могут решить. Хотя определение «хорошего» кода является субъективным, есть несколько аспектов людей могут согласиться.

  • Это хорошо проверено
  • Проходит проверки стилей (Eslint и т. Д.)
  • Это может компилировать в своем текущем состоянии (и существует относительно проблем)
  • Он проходит некоторую форму статического анализа (через такие услуги, как код код)

Разработчик не будет смотреть на вашу линию кода по линии, чтобы увидеть, хорошо ли это до Решив использовать ваш проект. Следовательно, «значки», которые появляются на первой строке проекта. Великая вещь об этих значках состоит в том, что они смехотательно легко настроить, и дать вашему проекту много доверия без посетителей, необходимых на вашем коде.

Сколько поддержки доступна?

Поддержка поступает в два аромата: поддержка проблем и поддержки для изучения того, как использовать проект.

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

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

Документы легко создавать с mkdocs , и вы можете генерировать сайт GH-PAGES из MKDOCS CLI, который вы можете разместить бесплатно на Github.

Хорошая документация предоставит вашим пользователям примеры того, как использовать программу и объяснить сложные компоненты. Следует также дать подробное руководство о том, как запустить проект (если это веб-приложение).

Что входит?

Список функций не должен быть исчерпывающим, но должен список функций, которые являются центральными для вашего приложения и доступны (и демонстрационные). На максимуме этот список должен быть длиной 10 функций и находиться в формате «(используется) X для функции Y.»

На что это похоже?

Если картина стоит тысячи слов, то .gif стоит миллион. Показать Как Ваше приложение работает – даже если это означает отображение вывода командной строки. Этот фрагмент информации дает разработчику, глядя на ваш проект идею A) Как это должно выглядеть, и б) подходит ли она их потребностями.

Никогда не стоит недооценивать, насколько хорошая графика убедит разработчик для использования вашего проекта.

Как мне это настроить?

Во время разработки шансов вы работаете над проектом на одном компьютере со всем установленным. Но вы должны предоставить способ настроить пользователь и запустить с вашим 3-4 шагами. Если это означает создание Makefile, сделайте это. Также обязательно упомяните любые «глобальные» инструменты, которые вы использовали, например Babel-Cli и Барело-ядро.

Как правило, если вы должны были установить его, вероятность того, что кому-то еще придется это сделать. Также обязательно сжимайте все ваши сценарии в установку в один файл (для Python это было бы требования. Atxt и для узла/JavaScript это будет package.json ). Короче говоря, кто-то должен быть в состоянии получить ваш проект менее чем за 5 минут.

Добраться до тенденции:

Таким образом, большое внимание захватывающее внимание (AKA Readme) поможет вам сохранить ваших посетителей. Но как вы едете посетителей в свой проект в первую очередь?

Есть 3 основных выхода, которые вы можете использовать:

Хакеров Новости/Охота на продукте: Оба предоставляют великие способы разоблачить проект в задействованном сообществе разработчиков (и вы можете забрать освещение СМИ). Но проблема в том, что в том, что на вершине вашего поста требуется значительное количество планирования, и некоторые пользователи, которые хотели помочь продвинуть ваш пост с самого начала.

Reddit: Лучший способ получить хранилище с земли с некоторыми звездами. Но вам нужно найти правильное сообщество Отказ Для флэк-базы этого сообщества было /r/python , где мы добрались до начальника дня без особых усилий.

Ключ должен добраться до сообщества, который будет заботиться о вашем проекте (и будет его использовать). Но вы должны быть осторожны в размещении в очень общих поколениях, таких как/r/Программирование, где есть тонны конкурирующих постов, которые утулируют ваш собственный пост.

Мастерские: Это также «секрет», но семинары являются отличным способом получить ваши начальные дюжины или около того звезды на вашем репозитории. Дайте семинару о том, как вы создали свой проект, что он делает, и самое главное Покажите, как его использовать (с примером).

Мы сделали это в Pennapps XV, преподавая семинару о том, как сделать веб-приложения с колбой. Явка составляла около 40 человек, и мы показали фляску-базу в качестве примера приложения для колбы, которые они могли бы использовать во время халака. Пять минут после того, как наш семинар закончился, мы проверили репозиторий и обнаружили, что Он получил 17 звезд и восемь вилков Отказ Это чувство было потрясающе:)

Состояние мониторинга

Неизбежно будет кто-то, кто указывает на ошибку/несоответствие после запуска. Просто обязательно обратитесь к этим людям, ответить на все комментарии и учитывать все отзывы. Держать участие в вашей аудитории, является ключом к тому, что аудитория инвестируется в ваш проект.

После того, как вы получите начальный рост от 30 до 40 звезд в короткие сроки (1-2 часа), то ваш проект будет иметь достойный шанс добиться до того, чтобы навлечь на себя. (Конечно, я не могу говорить со спецификой того, как работает алгоритм тенденции GitHub)

Некоторые из наших достижений

Флэк-база достигла Top Daily Trending Для репозиториев Python Топ 3 общая тенденция и Вершина/R/Python за неделю.

Hack4Impact стал 4-й Большая тенденция разработчика Python и 5-й самый трендный общий разработчик Отказ

Кроме того, у нас было 80+ клонов и 40+ вил на сегодняшний день.

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

Если вы не достигнете своей цели, чтобы получить тенденцию, не волнуйтесь. Просто промыть и повторять. Иногда вам повезет, а иногда вы не будете.

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

Признательности

Большое благодаря Алексу Питьскому, Веронику Уортон, Эммет Нейману, Стефани Ши и Бен Сэндлера для предоставления вклад этой статьи. Спасибо разработчикам флаговой базы (Бен Сэндлера, Йони Нахмани, Макс Маккарти, Вероника Уортон, Алекс Харелик, Нэнси Вонг и Энни Мэн) для создания этого отличного проекта.

Наконец, спасибо, что отталкиваете, чтобы позволить мне быть частью такого социально влиятельного сообщества.

Если вы хотите узнать больше о базе Flask, Посетите репо Отказ

Если вы хотите проверить некоторые из проектов, сделанных с помощью колбу, Посетите Hack4Impact’s Страница проектов Отказ

Если вы хотите узнать больше о Hack4Impact (aka, организация, которая создала флаговую базу), Посетите наш сайт Отказ

Если вы хотите узнать больше обо мне, посетите мой Персональный сайт мой Github или напишите мне на suria@seas.upenn.edu Отказ