Статьи

Создание вашего стартапа: Фонд с открытым исходным кодом за планировщиком собраний

Конечный продукт
Что вы будете создавать

Это руководство является частью серии « Создай свой стартап с помощью PHP» на Envato Tuts +. В этой серии я проведу вас через запуск стартапа от концепции до реальности, используя мое приложение Meeting Planner в качестве примера из реальной жизни. На каждом этапе я буду публиковать код Планировщика собраний в качестве примеров с открытым исходным кодом, из которых вы можете извлечь уроки. Я также буду решать вопросы, связанные с бизнесом по мере их возникновения.

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

Ясно, что, как и Дональд Трамп, я удивительный «победитель!» или не; Я выигрываю так много, что вы просто не можете его взять — говорите, остановитесь, пожалуйста, остановите выигрыш. И я просто еще один пример того, как «стартапы из одного человека» могут запускать продукты из гаражей. Я не могу поверить, что Стиву Джобсу нужен был Стив Возняк, а Полу Аллену нужен Билл Гейтс — какие жалкие муфты! Они были переполнены!

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

Сегодня я собираюсь взглянуть на все компоненты с открытым исходным кодом, которые обеспечивают основу для Meeting Planner, приложения, которое я создавал и писал для Envato Tuts +. Если вы еще не опробовали Планировщик совещаний, запланируйте свою первую встречу прямо сейчас — пригласите друга на кофе или обед.

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

Напоминаем, что весь код для Meeting Planner написан на Yii2 Framework для PHP (два больших элемента с открытым исходным кодом) . Если вы хотите узнать больше о Yii2, ознакомьтесь с нашей параллельной серией « Программирование с Yii2» .

К сожалению, в результате нашей культуры и дискриминации в технологии так много мужчин, что знакомая фраза «запуск одного человека» имеет встроенную гендерную предвзятость. Падение женщин, изучающих информатику, фактически началось в 1980-х годах. До этого женщины были одинаково вовлечены в технологии!

SmallBizTrends имеет забавную инфографику из 10 самых успешных стартапов «одного человека» , некоторые из которых были сомнительными отдельными предприятиями. Например, история первого найма служащего Amazon, похоже, указывает на то, что его этап с одним человеком был недолгим, и с самого начала жене Безоса не особо доверяли. Другие стартапы имеют свидетельства о более длительных фазах одного человека.

Топ 10 самых успешных стартапов
через Small Biz Trends, Топ-10 самых успешных стартапов с одним человеком

Блоггер и разработчик Стив Ридоут работает над ReadLang соло три года и считает.

Стартапы с одним человеком существуют, но редко они делают это большим. Спонсоры ищут команды больше, чем отдельные лица. Команды, как правило, более эффективны, хорошо, потому что командная работа — о да, и сотрудничество.

До сих пор моя команда для Meeting Planner охватила огромное количество бесплатного программного обеспечения с открытым исходным кодом, за которое я невероятно благодарен.

Давайте рассмотрим, что полномочия Meeting Planner и его услуги.

«Я тот, кто я есть из-за того, кто мы все».

Meeting Planner (MP) работает в Digital Ocean, который также запускает и поддерживает программное обеспечение с открытым исходным кодом , и они предложили мне несколько месяцев на обслуживание, создавая Meeting Planner на собственной капле.

MP работает под управлением Linux, самой популярной операционной системы с открытым исходным кодом, которую почти все мы знаем и любим. Разработчик Линус Торвальдс создал Linux в 1981 году, когда учился в Хельсинкском университете, в ответ на отсутствие открытых лицензий с другими операционными системами.

Версия MP — это Ubuntu , основанная на другой версии Debian . Согласно Википедии, Debian был впервые анонсирован в 1993 году Ианом Мердоком, Debian 0.01 был выпущен в августе 1993 года, а первый стабильный выпуск был выпущен в 1996 году. Ubuntu, выпущенный в 2004 году, назван в честь южноафриканской философии ubuntu (буквально , «человечность»), который, по мнению [ведущего разработчика], Canonical Ltd, можно свободно перевести как «человечество для других» или «я есть то, что я есть из-за того, кто мы все». »

HTTP-сервер Apache , один из самых ранних , поддерживает Meeting Planner. Википедия сообщает, что Apache стал «первым программным обеспечением для веб-серверов, обслуживающим более 100 миллионов веб-сайтов». Он начал развиваться в 1995 году, когда я помогал новому онлайн-сервису Microsoft управлять новостными сайтами, основанными на медиа-обзоре, на основе его собственного бизнеса контента на CD. Например, вы можете вспомнить удивительный компакт-диск Microsoft Dogs, работающий от медиа-представления:

Компакт-диск Microsoft Dogs

Честно говоря, я не знаю историю представления СМИ , но, похоже, Microsoft основывалась на раннем стандарте NeXT.

Microsoft Dogs. Но я отвлекся …

Meeting Planner написан на PHP с открытым исходным кодом, языке, написанном на языке программирования C с открытыми компиляторами.

Тем не менее, это Yii Framework с открытым исходным кодом для PHP, который был для меня самым важным аспектом при создании Meeting Planner. Впервые выпущенный в 2010 году, Yii делает программирование MVC быстрым и эффективным на PHP.

Да, я знаю, что Laravel тоже хорош, но когда я углубился в программирование, он казался не таким зрелым, как Yii. И, честно говоря, Yii 2.0 удовлетворил все мои потребности.

Meeting Planner демонстрирует качество Yii лучше, чем любая другая работа, которую я делал.

Хотите узнать больше о Yii? Не только потому, что я написал это, я рекомендую серию Envato Tuts + Как программировать с Yii2 ; ну, ладно, в основном потому что я это написал. Еще один продукт, основанный на Yii, который я рассмотрел, — это альтернатива WordPress, Craft CMS , выдающаяся CMS для разработчиков, которым нужно больше возможностей и контроля над своей издательской платформой.

Несколько членов команды Yii также помогли мне лично за эти годы, что я очень ценю.

В Meeting Planner также используется основной партнер базы данных PHP — MySQL, еще одна известная база данных с открытым исходным кодом, запущенная в 1994 году .

Поддержка ActiveGecord в Yii делает написание кода для работы с MySQL в целом простым и управляемым.

MP использует электронную почту для объявления приглашений на собрания и внесения изменений в собрания, а также для доставки вложений iCal для календарей людей. Он отправляет свои электронные письма, используя расширение Yii для популярного SwiftMailer через открытый стандарт SMTP, в собственный Mailgun для исходящей доставки. Для работы с API Mailgun , MP использует Guzzle с открытым исходным кодом .

И, чтобы отправлять красивые электронные письма в формате HTML, совместимые со всеми этими противными почтовыми клиентами, он использует шаблоны с открытым исходным кодом Oxygen . Однажды MP сможет динамически использовать CSS-инлайнер OpenBuilding с открытым исходным кодом для SwiftMailer ; это просто не совсем работает для меня еще.

Организация встреч с открытым исходным кодом - кислородные шаблоны SendWithUs

В дополнение к упомянутым выше, Meeting Planner использует множество других компонентов, расширений и плагинов с открытым исходным кодом. Давайте посмотрим на этот файл .json:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
«require»: {
       «php»: «>=5.4.0»,
       «yiisoft/yii2»: «>=2.0.7»,
       «yiisoft/yii2-bootstrap»: «*»,
       «yiisoft/yii2-swiftmailer»: «*»,
       «openbuildings/swiftmailer-css-inliner»:»*»,
       «2amigos/yii2-google-maps-library»: «*»,
       «2amigos/yii2-google-places-library»: «*»,
       «stichoza/google-translate-php»: «~2.0»,
       «google/apiclient»: «1.0.*@beta»,
       «2amigos/yii2-date-time-picker-widget»: «*»,
       «yiisoft/yii2-jui»: «*»,
       «cebe/yii2-gravatar»: «*»,
       «kartik-v/yii2-widget-fileinput»: «*»,
       «yiisoft/yii2-imagine»: «*»,
       «2amigos/yii2-resource-manager-component»: «0.1.*»,
       «yiisoft/yii2-authclient»: «~2.0.0»,
       «mailgun/mailgun-php»: «~2.0»,
       «guzzlehttp/guzzle»:»6.2.0 as 4.2.3″,
       «php-http/guzzle6-adapter»:»1.0.0″,
       «kartik-v/yii2-widget-typeahead»: «^1.0»,
       «kartik-v/yii2-widget-switchinput»: «^1.3»,

Вы, вероятно, заметили, что это часть файла MP composer.json. Вы спросите, что это? Это файл, используемый нашим менеджером пакетов с открытым исходным кодом.

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

Для HTML5 и CSS Yii2 интегрирует Bootstrap 3 из коробки. Ваш сайт Yii выглядит потрясающе и ведет себя ответственно на мобильных устройствах и планшетах с самого начала.

Согласно Википедии, Bootstrap является вторым самым популярным проектом на GitHub , с более чем 95 000 звезд и более 40 000 вилок. Bootstrap был разработан Марком Отто и Джейкобом Торнтоном во время работы в Twitter.

Для меня это один из наиболее важных общих компонентов хорошей веб-разработки, который делает жизнь каждого человека проще; Bootstrap позволяет разработчикам , не обладающим навыками дизайна, создавать великолепные сайты — достаточно взглянуть на Meeting Planner ( у меня нет хороших навыков проектирования ). И это позволяет нам сосредоточиться на наших продуктах, а не на базовом дизайне. Bootstrap позволяет вам начать с создания большой команды дизайнеров и экономит огромное количество времени и денег.

Фонд открытых собраний по планированию собраний - Kartiks Bootstrap Switches

Meeting Planner также использует несколько расширений Bootstrap, интегрированных с Yii некоторыми популярными разработчиками, ориентированными на сообщество:

Эти и другие плагины основаны на популярных библиотеках и виджетах с открытым исходным кодом:

Эти плагины являются ключевыми элементами пользовательского интерфейса Meeting Planner для планирования.

Yii также предлагает несколько дополнительных расширений с открытым исходным кодом . Например, его расширение AuthClient позволяет мне легко интегрировать социальные сети Facebook, Google и LinkedIn для входа в Meeting Planner . И MP использует расширенный шаблон Yii, который обеспечивает управление пользователями на основе базы данных из коробки.

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

Недавно я наконец-то перешел с проприетарного устаревшего TextMate на GitHub-поддерживаемый редактор Atom с открытым исходным кодом. Моя производительность взлетела. Есть только один аспект автозаполнения TextMate, для которого у меня еще не было времени искать замену. Видите, сообщество Atom создало миллионы пакетов, которые легко найти и установить.

Фонд планирования встреч с открытым исходным кодом - Atom Packager

Это все, что я могу думать на данный момент. Вероятно, есть много других частей с открытым исходным кодом в Планировщике собраний, которые я здесь не осознавал и не упоминал. Пожалуйста, оставьте свои дополнения в комментариях! Вы также можете связаться со мной через Twitter @reifman напрямую.

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

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

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

Я также начинаю экспериментировать с краудфандингом. Я изучал сервис WeFunder. Его успех может возрасти с внедрением новых правил краудфандинга SEC . Пожалуйста, обратите внимание на наш профиль WeFunder . Я планирую написать об этом больше как часть нашей серии.

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

Позвольте мне сказать это снова. Это не было бы возможно.

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

Спасибо всем, кто когда-либо проверял код в открытом хранилище!

Следите за будущими уроками в серии « Построение стартапа с помощью PHP» . Есть еще несколько важных функций.