Crearea punerii în funcțiune Fundația Open Source în spatele planificării întâlnirilor

Ce veți crea

Acest tutorial face parte din Construirea sistemului de pornire cu seria PHP pe Envato Tuts +. În această serie, vă conduc prin lansarea unui startup de la concept la realitate, utilizând ajutorul meu Planificatorul întâlnirilor aplicație ca exemplu de viață reală. Fiecare pas de-a lungul drumului, voi lansa codul Planificatorului de Întâlniri ca exemple de sursă deschisă pe care le puteți învăța. Voi aborda, de asemenea, problemele de afaceri legate de pornire în momentul în care apar.

În episodul de astăzi, aș dori să fac un pas înapoi și să reflectez asupra modului în care am reușit să construiesc singuri, într-o chestiune de luni, un program de programare sofisticat și ușor de utilizat, întreruperi ale intervențiilor chirurgicale ale creierului, radiații și alte consultări).

În mod clar, ca și Donald Trump, sunt un "câștigător" uimitor! sau nu; Câștig așa de mult încât nu poți să-l iei - spui, oprește-te, te rog opri câștigul. Și eu sunt doar un alt exemplu de potențial pentru "start-up-uri un om" pentru a lansa produse din garaje. Nu-mi vine să cred că Steve Jobs avea nevoie de Steve Wozniak sau de Paul Allen care aveau nevoie de Bill Gates - ce cuplări patetice! Aveau prea multe resurse!

Adevărul este că nu aș fi fost în stare să construiesc toate acestea fără strălucitoare care să permită eforturile comunității open-source.

Astăzi, voi examina toate componentele open source care oferă fundația pentru Planificatorul întâlnirilor, aplicația pe care am construit-o și am scris-o la Envato Tuts +. Dacă nu ați încercat încă planificatorul de întâlniri, continuați și programați prima dvs. întâlnire chiar acum - întrebați-vă un prieten pentru cafea sau prânz.

Fac participarea la subiectele de comentarii de mai jos, deci vă rugăm să trimiteți feedback-ul dvs. Astăzi, mă interesează în mod special dacă există alte componente open-source în Planificatorul de întâlniri decât am menționat mai jos. Sunt, de asemenea, deschis la idei noi de funcții și sugestii de subiect pentru tutoriale viitoare.

Ca un memento, întregul cod pentru Planificatorul întâlnirilor este scris în cadrul Yii2 Framework for PHP (două mari elemente cu sursă deschisă). Dacă doriți să aflați mai multe despre Yii2, verificați seria noastră paralelă Programming With Yii2.

"Încă o dată apare One-Man Startup"?

Din păcate, există atât de mulți oameni în tehnologie, ca urmare a culturii și a discriminării noastre, că fraza cunoscută, "un om de pornire", are o polarizare de gen încorporată. Căderea femeilor care studiază informatica a început de fapt în anii 1980. Înainte de aceasta, femeile au fost implicate în mod egal în tehnologie!

SmallBizTrends are o distracție infografică a Top 10 celor mai reușite One Startup "Om", dintre care unele erau întreprinderi individuale. De exemplu, povestea primei angajări a angajaților Amazon pare să indice faptul că faza de o singură persoană a fost scurtă și nu oferă soției lui Bezos prea mult credit încă din primele zile. Celelalte companii au dovezi ale unor faze mai lungi de o persoană.

prin intermediul tendințelor Small Biz, Top 10 cele mai reușite companii de pornire pentru un bărbat

Blogger și dezvoltatorul Steve Ridout au lucrat la solul ReadLang timp de trei ani și numărau. 

Întreprinderile cu o singură persoană sunt acolo, dar rareori acestea sunt mari. Fundatorii caută echipe mai mult decât indivizi. Echipele sunt în general mai eficiente, bine, deoarece munca în echipă - oh da și colaborarea.

Până acum, echipa mea pentru Planificatorul de Întâlniri a cuprins o cantitate imensă de software liber, cu sursă deschisă, pentru care sunt incredibil de recunoscător.

Să examinăm ce competențe are Planificatorul întâlnirilor și serviciile sale.

Codul Open Source folosit cu planificatorul întâlnirilor

"Eu sunt ceea ce sunt pentru că suntem cu toții."

Hosting

Planificatorul de întâlniri (MP) rulează la Digital Ocean, care rulează și sprijină software open-source și mi-au oferit câteva luni de creditare în timp ce construiesc planificatorul de întâlniri pe propria picătură.

Codul de constituire

Sistem de operare

MP rulează pe o aromă de Linux, cel mai popular sistem de operare open-source pe care aproape toți îl cunoaștem și îl iubim. Programatorul Linus Torvalds a creat Linux în 1981 în timp ce a participat la Universitatea din Helsinki, ca răspuns la lipsa de licențe deschise cu alte sisteme de operare. 

Gustul MP ​​este Ubuntu, bazat pe o altă aromă, Debian. Potrivit Wikipedia, Debian a fost anuntat pentru prima oara in 1993 de Ian Murdock, Debian 0.01 a fost lansat in august 1993, iar prima versiune stabila a fost facuta in 1996. Ubuntu, lansat in 2004, este "numit dupa filozofia Africii de Sud a ubuntu , "uman-ness"), care sugerează [producătorul de plumb] Canonical Ltd, poate fi tradus ca o "umanitate pentru alții" sau "Eu sunt ceea ce sunt pentru că eu sunt cu toții" 

Web Server

Serverul HTTP Apache, unul dintre cele mai vechi, are rolul de Planificator de Întâlniri. Rapoartele Wikipedia Apache au devenit "primul software de server web care deservește mai mult de 100 de milioane de site-uri web". A început dezvoltarea în 1995, în timp ce am ajutat noul serviciu online al Microsoft să difuzeze site-uri de știri alimentate de vizualizarea media, pe baza afacerii sale de conținut CD-uri de proprietate. De exemplu, este posibil să vă amintiți uimitorul CD-ROM Microsoft Dogs, alimentat de vizualizarea media:

Sincer, nu cunosc istoria viziunii mediatice, dar se pare că Microsoft sa bazat pe un standard NeXT timpuriu.

Microsoft Dogs. Dar, mă desprind ...

Limba de programare și cadru

Planificatorul de întâlniri este scris în PHP open source, o limbă scrisă în limbajul de programare C cu compilatoare cu surse deschise.

Cu toate acestea, este un open-source Yii Framework pentru PHP, care a fost în mod fundamental cel mai puternic aspect pentru mine în construirea Planificatorului întâlnirilor. Primul lansat în 2010, Yii face programarea MVC rapidă și eficientă în PHP.

Da, știu și Laravel, dar când m-am îndrăgostit mai mult în programare, nu părea așa de matur ca Yii. Și, sincer, Yii 2.0 a împlinit toate nevoile mele. 

Planificatorul de întâlniri demonstrează calitatea Yii mai bună decât orice altă lucrare pe care am făcut-o. 

Doriți să aflați mai multe despre Yii? Nu doar pentru că am scris-o, recomandăm seria Envato Tuts + Cum să programați cu Yii2; bine, bine, mai ales pentru că l-am scris. Un alt produs pe bază de Yii pe care l-am acoperit este alternativa WordPress, Craft CMS, un CMS remarcabil pentru dezvoltatorii care doresc mai multă putere și control asupra platformei lor de publicare.

Unii dintre membrii echipei Yii m-au ajutat, de asemenea, personal, de-a lungul anilor, ceea ce apreciez foarte mult. 

Bază de date

Planificatorul de întâlniri utilizează, de asemenea, partenerul de bază de date al PHP, Polyamorous, MySQL, o altă bază de date deschisă sursă lansată în 1994.

Suportul ActiveRecord de la Yii face ca scrierea codului să funcționeze cu MySQL în general ușor și ușor de gestionat.

Livrarea prin e-mail

MP se bazează pe e-mail pentru a anunța invitații la întâlniri și schimbări la întâlniri și pentru a livra atașamente iCal pentru calendarele oamenilor. Se trimite e-mailurile sale folosind extensia Yii pentru popularul SwiftMailer prin intermediul standardului SMTP deschis către Mailgun proprietate pentru livrarea la ieșire. Pentru a lucra cu API-ul lui Mailgun, MP folosește Guzzle open-source.

Și, pentru a trimite e-mailuri frumoase HTML compatibile cu toți acei clienți poștali plictisitori, utilizează șabloanele Oxygen Send With Us open-source. Într-o zi, MP va fi capabil să folosească dinamic OpenBuilding's open-source CSS inliner pentru SwiftMailer; nu prea lucrez pentru mine încă.

Extensii de aplicații și pluginuri

În plus față de cele menționate mai sus, Planificatorul de întâlniri utilizează o mulțime de alte componente, extensii și pluginuri care sunt toate open source. Să aruncăm o privire la acest fișier .json:

"necesită": "php": "> = 5.4.0", "yiisoft / yii2": "> 2.0.7", "yiisoft / yii2-bootstrap" : "*", "openbuildings / swiftmailer-css-inliner": "*", "2 amigos/yii2-google-maps-library" , "stichoza / google-translate-php": "~ 2.0", "google / apiclient" / yii2-jui ":" * "," cebe / yii2-gravatar ":" * "," kartik-v / yii2-widget-fileinput " "2", "yiisoft / yii2-authclient": "~ 2.0.0", "mailgun / mailgun-php": "~ 2.0", "guzzlehttp / ":" 6.2.0 ca 4.2.3 "," php-http / guzzle6-adapter ":" 1.0.0 "," kartik-v / yii2-widget-typeahead " yii2-widget-switchinput ":" ^ 1.3 ", 

Probabil ați observat că este o parte a fișierului compozitor.json al MP. Ce-i asta, întrebi? Este un fișier folosit de managerul nostru de pachete open source.

Managerii de pachete

Integrarea și gestionarea utilizării tuturor componentelor de mai sus ar fi mult mai dificilă fără compozitor, managerul de pachete comunitare open-source. 

Cadrele HTML5 și CSS

Pentru HTML5 și CSS, Yii2 integrează Bootstrap 3 din cutie. Site-ul dvs. Yii arată minunat și se comportă responsabil de dispozitive mobile și tablete de la început.

Potrivit Wikipedia, Bootstrap este al doilea proiect cu cele mai multe staruri de pe GitHub, cu peste 95.000 de stele și peste 40.000 de furci. Bootstrap a fost dezvoltat de Mark Otto și Jacob Thornton în timp ce lucrează la Twitter. 

Pentru mine, este una dintre cele mai importante componente comune ale dezvoltării bune a web-ului, care ușurează viața tuturor; Bootstrap permite dezvoltatorilor fără abilități de proiectare să construiască site-uri grozave - consultați Planificatorul întâlnirilor (Nu am aptitudini bune de design). Și ne permite să ne concentrăm mai degrabă pe produsele noastre decât pe designul de bază. Bootstrap vă permite să începeți cu crearea unei mari echipe de design și să economisiți timp și bani.

Bootstrap Extensions

Planificatorul de întâlniri utilizează, de asemenea, o mână de extensii Bootstrap integrate cu Yii de către unii dezvoltatori populari orientați spre comunitate:

  • Tipul lui Kartik, SwitchInput și TimePicker
  • 2Amigos Data Time Picker și Resource Manager

Acestea și alte pluginuri se bazează pe biblioteci și widget-uri populare deschise:

  • Imaginați-vă procesorul de imagine
  • Sebastien Malot este Data Time Picker

Aceste pluginuri sunt elemente cheie ale experienței de planificare a întâlnirilor pentru planificare.

Yii Extensii

Yii oferă de asemenea câteva extensii suplimentare cu surse deschise. De exemplu, extensia AuthClient permite integrarea ușoară a conectării sociale Facebook, Google și LinkedIn la planificatorul de întâlniri. Și MP folosește șablonul avansat al lui Yii, care oferă gestiunea utilizatorilor bazată pe baze de date afară din cutie.

Servicii

Există, de asemenea, ocazional "serviciu deschis", cum ar fi Gravatar, care oferă imagini implicite de profil de utilizator.

Editoare de texte

Recent, am trecut în cele din urmă de la TextMate proprietate, datată la editorul Atom cu licență GitHub, open-source. Productivitatea mea a decolat. Există doar un aspect al AutoComplete de la TextMate. Nu am avut timp să-l înlocuiesc pe Google încă. Vedeți, comunitatea Atom a construit un pachet de zillion, ușor de căutat și instalat. 

Ce altceva?

Asta-i tot ce mă pot gândi acum. Există, probabil, o mulțime de alte piese care sunt open source în Planificatorul de întâlniri pe care nu mi-am dat seama sau nu am menționat aici. Vă rugăm să posta completările dvs. în comentariile! Puteți să mă contactați și pe Twitter @reifman direct.

Și nu am menționat toate comunitățile online găsite prin căutările Google cu întrebări și răspunsuri la care mă bazez în mod regulat pentru sfaturi de programare. Sau faptul că calculatoarele și dispozitivele noastre mobile se bazează pe o mulțime de software open source.

O miză de proprietate cu sursă deschisă

Dacă sunteți dezvoltator, probabil că nu veți putea trece prin zi fără a interacționa cu unele componente sau instrumente open source. Vă încurajez să luați în considerare modurile în care puteți demonstra sprijinul pentru eforturile comunității.

Un procent pentru Open Source

Pe măsură ce mă uit înainte la strângerea de fonduri de la investitori, am decis să scot un pachet de 1% doar pentru open source. Cu alte cuvinte, un procent din planificatorul de întâlniri va fi folosit pentru a sprijini proiectele și fundațiile cu sursă deschisă, în regia unui eventual consiliu de administrație.

De asemenea, încep să experimentez cu crowdfunding. Am explorat serviciul WeFunder. Succesul său ar putea crește odată cu punerea în aplicare a noilor reguli de cultură a SEC. Vă rugăm să luați în considerare profilul nostru WeFunder. Am de gând să scriu despre asta mai mult ca parte a seriei noastre.

Ce urmeaza?

Pur și simplu nu am reușit să construiesc Planificatorul întâlnirilor fără software open source și eforturile istorice și continue ale comunității. 

Permiteți-mi să spun din nou. Nu ar fi fost posibil.

Dacă nu ați făcut-o încă, încercați Planificatorul de întâlniri chiar acum, programând prima dvs. întâlnire, știind că planificarea zilei a fost făcută mai rapidă și mai ușoară de bărbați și femei din comunitatea open-source. 

Vă mulțumesc tuturor celor care au verificat vreodată codul într-un depozit deschis!

Uita-te pentru viitoarele tutoriale în Building Your Startup cu seria PHP. Sunt mai multe caracteristici mari care vin.

Link-uri conexe

  • Planificatorul întâlnirilor
  • Urmăriți profilul de finanțare al întâlnirii
  • Programarea cu Yii2: Noțiuni de bază
  • Schimbul de dezvoltatori Yii2
Cod