Skip to content

OFFICIAL NFQ Academy Symfony 4 start project setup with the included docker local dev env.

Notifications You must be signed in to change notification settings

EdvardasP/kickstart

 
 

Repository files navigation

NFQ Akademija

Intro

Sveiki! Tai yra Jūsų startinis projekto "template". Šioje repositorijoje rasite Symfony 4.3.5 minimalų projekto paketą su jau paruoštais visais reikalingais failais ir įrankiais darbui:

  • Lokalaus development'o aplinka (docker) (PHP 7.3, MySql DB, Nginx)
  • Paprastas pavyzdys (Controller, Template, CSS)
  • Įdiegtas bootstrap
  • Asset'ų buildinimas (encore, yarn, sass)
  • GitHub actions (CI) pavyzdys

Paleidimo instrukcija

Metai iš metų studentai maldavo jog galėtų dirbti su Windows'ais akademijos metu. Bet nepaisant nieko, tolerancijos ir palaikymo Windows operacinei niekada nebuvo ir nebus.

Perspėjimas: Itin kieti profesionalai nenaudoja niekam tikusių operacinių sistemų.

Reikės dokerio

📹 Diegimo pavyzdys

Naudosime naujausią dokerio versiją, kuri įgalina virtualizaciją be Virtualbox ar Vmware. Tam reikės, kad jūsų kompiuterio procesorius palaikytų Hypervisor. Nėra dėl ko nerimauti, dabartiniai kompiuteriai kone visi turi šį palaikymą.

Parsisiunčiate ir įsidiegiate įrankį iš čia. Iškart įdiegus reikia pasidaryti, kad docker būtų galima naudoti be root teisių, kaip tai padaryti rasite čia.

Parsisiunčiate ir įsidiegiate docker-composečia.

Taip pat rekomenduojama įsidiegti Kitematic. Patartina naudoti v0.17.7, nes tai paskutinė stabili versija, palaikoma Ubuntu. Šis įrankis padės geriau organizuoti dokerio konteinerius.

Versijų reikalavimai

  • docker: 18.x-ce
  • docker-compose: 1.23.2

Projekto paleidimas

📹 Paleidimo pavyzdys

Pasileidžiant pirmą kartą būdavo įveliama daug klaidų, todėl padaryti script'ai dažniausiems atvejams.

  • Pasileidžiama infrastruktūrą per dockerį:
scripts/start.sh
  • Įsidiegiame PHP ir JavaScript bibliotekas:
scripts/install-first.sh
  • Pasižiūrime, ar veikia. Naršyklėje atidarius http://127.0.0.1:8000/ turėtų rašyti NFQ Akademija

  • Pabaigus, gražiai išjungiame:

scripts/stop.sh

Patogiai darbo aplinkai

📹 Komandinės eilutės naudojimo pavyzdys

  • Development režimas (detalesnė informacija apie klaidas, automatiškai generuojami JavaScript/CSS):
scripts/install-dev.sh
  • Production režimas (imituoti, kaip daroma LIVE serveryje. Plačiau .deploy/build.sh):
scripts/install-prod.sh
  • Jei norite pridėti PHP biblioteką arba dirbti su Symfony karkasu per komandinę eilutę:
scripts/backend.sh
  • Jei norite pridėti JavaScript/CSS biblioteką arba dirbti su Symfony Encore komponentu per komandine eilutę:
scripts/frontend.sh
  • Jei norite dirbti su MySql duomenų baze:
scripts/mysql.sh
  • Jei nesuprantate, kas vyksta su infrastruktūra, praverčia pažiūrėti į Log'us:
scripts/logs.sh
  • Jei kažką stipriai sugadinote ir niekaip nepavyksta atstatyti. Viską pravalyti (naudokite atsakingai) galima su:
scripts/clean-and-start-fresh.sh

Dažniausiai užduodami klausimai

  • Kaip įkelti savo pakeitimus į LIVE? Jei viskas gerai sukonfiguruota, užteks sudėti pakeitimus į master. Jei neveiks, plačiau žr. įkėlimo į serverį dokumentacijoje

  • Kaip prisijungti prie duomenų bazės su savo mėgstamu MySql redagtoriumi? Trumpai: scripts/mysql.sh atspausdina visus prisijungimus. Plačiau žr. MySql GUI dokumentacijoje

  • Kaip pasileisti xDebug? Trumpai: ./scripts/backend.sh /enable_xdebug.sh <TAVO_KOMPO_IP_ADRESAS> Plačiau žr. xDebug dokumentacijoje

  • Turių daugiau techninių klausimų? Google ir StackOverflow yra geriausi tavo draugai. Nepavykus – kreipkis į savo mentorių. Jei jis nepadės, nukreips į atitinkamą lektorių arba pamokys git blame, kad žinotumei, kur kreiptis toliau.

Feedbackas

Jeigu taip nutiktų, kad repositorijoje, projekto template ar instrukcijoje rastumėte klaidą, tai nesišnibždėkite vieni tarp kitų, o sukurkite "issue". O jei atidarysite "pull requestą" su fixu, gausite iškart 1000 karmos taškų.

About

OFFICIAL NFQ Academy Symfony 4 start project setup with the included docker local dev env.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 52.7%
  • PHP 28.4%
  • JavaScript 14.0%
  • HTML 3.5%
  • CSS 1.4%