PHP Open Source projekat
Autor: Aleksandar Varničić |
Datum:
  • # Vesti
Već duže vreme postoji ideja o većem PHP Open Source projektu u Srbiji. Da budem iskren ideja verovatno postoji duže od samog udruženja “PHP Srbija” koje je osnovano 2012 godine. Mi, koji smo aktivni članovi, još od starta smo više puta pokretali temu o započinjanju jednog takvog projekta ali bez konkretne realizacije… Sve do prošlog leta.

Tada smo kolege Miloš Jovanov, Nemanja Ognjanović, Nemanja Čedomirović i ja (Aleksandar Varničić) odlučili da razvoj Open Source PHP projekta sprovedemo u delo. Inicijalna ideja je bila da napravimo platformu za naš web sajt phpsrbija.rs ali se taj plan ubrzo promenio jer smo shvatili njegov potencijal za mnogo veću i značajniju primenu.

 

CMS Project UNFINISHED

 

Početak “Nezavršenog”  https://github.com/phpsrbija/unfinished

 

Iako izgleda kao klasičan CMS namenjen za potrebe ovog web sajta, organizacija koda je takva da se može lako prilagoditi drugačijim potrebama i različitim projektima. Trenutna arhitektura dozvoljava lako dodavanje novih funkcionalnosti ili ekstendovanje postojećih, omogućujući programeru da Unfinished prilagodi različitim projektima kao npr. od manjih news portala, pa do kompleksnih društvenih mreža.

 

Vizija celog projekta jeste pokretanje PHP Open Source projekta u Srbiji kroz međusobnu podršku PHP zajednice, koja će se ogledati u tome što će programeri imati priliku da doprinose svoj kod u ceo sistem i/ili koriste već postojeće pakete. “Project Unfinished” je samim tim sjajno mesto za učenje dobrih programerskih praksi kako za juniore tako i za seniore.

 

Želimo da ovim korakom motivišemo i pokrenemo sve na akciju! Zato vas pozivamo da ostavite svoj trag u vidu komentara, pull requesta, otvaranja issua, testiranja ili mišljenja.

 

Ovo je projekat od svih nas za sve nas.

 

Tehnički Stek

 

Sve što vam je potrebno da pokrenete Unfinished je PHP 7.0 i MySQL 5.6. a da bi smo vam dodatno olakšali, podesili smo vagrant bootstrap.sh skriptu koja se pokreće “svemoćnom” komandom vagrant up.

Proces instalacije je maksimalno uprošćen (ja sam ga testirao samo na Linux distribucijama):

cd /var/www/
git clone https://github.com/phpsrbija/unfinished.git

cd unfinished
vagrant up

Otvorite fajl  /etc/hosts i na kraju dodajte liniju
192.168.33.3 unfinished.dev

 

Nakon ovih koraka otvorite u browseru  http://unfinished.dev i voila! 

 

Admin url:        http://unfinished.dev/admin
Email:                [email protected]
Password:         testtest

U Vagrant box-u se nalazi sledeće:

  • Operativni sistem Ubuntu 14.04 LTS
  • Nginx web server
  • PHP 7.0
  • MySQL 5.6
  • Composer
  • Migracije za DB
  • Setupovan projekat

 

Od malih paketa do velikog sistema

 

Efikasnost se ogleda u tome što se mali paketi uklapaju po principu lego kockica. Glavni cilj je da se aplikacija razbije na manje potpuno nezavisne PSR kompatibilne pakete. Čime se postiže maksimalna efikasnost i jednostavnost. Ako bi dva paketa bila međusobno zavisna neophodno je da se zavisnost reši preko "Dependency Injection” tehnike.

Na ovaj način olakšano je:

  • Lako dodavanje novih feature-a u vidu odvojenih paketa
  • Refaktorisanje postojećih paketa bez značajnog uticaja na celu aplikaciju
  • Verzionisanje aplikacije i funkcionalnosti kroz verzionisanje paketa
     

Najprikladnije ime projekta bi bilo “Lego” ali je već zauzeto :)

 

“U IT-u se projekti nikada ne završavaju.”

 

Da li ste do sadа čuli za tu frazu? Unfinished nije namenjen da bude konačan i kompletiran, već da se stalno menja i evoluira u bolji sistem koji će služiti svima nama.

Njegov glavni feature je "PHP community" odnosno svako od nas.

Prepoznali smo potencijal naše regionalne PHP zajednice i zato se nadamo se da će ovaj korak pokrenuti sve zainteresovane entuzijaste.

Sa zadovoljstvom očekujemo prvi Pull Request!

 ..a vas ubrzo očekuje sledeći članak u kojem ćemo vam približiti dublju strukturu projekta.

Tesla Nation.