Struktura projektu i wstępna konfiguracja

Aplikacja będzie podzielona na 2 części. Jedną z nich będzie API, a drugą frontend aplikacji. Po umieszczeniu na serwerze, będą uruchomione dwie usługi na różnych portach. Dla frontendu na porcie 80 a dla API na 81. Zacznę od napisania API w Symfony, a dopiero potem będę zajmował się pisaniem frontendu w Angularze.

W pierwszej kolejności stworzyłem katalog projektu o nazwie warsztat:

$ mkdir warsztat

Następnie przy pomocy CLI frameworków, tworzę 2 projekty:

$ symfony new api
$ ng new application

Powstały 2 nowe katalogi api, oraz application.

Teraz pora wrzucić to wszystko do repozytorium gita:

$ git init
$ git add ./*
$ git remote add origin https://github.com/mtk3d/warsztat.git
$ git commit -m "init"
$ git push -u origin master

Miałem małe problemy z wrzuceniem całego projektu, ponieważ Angular CLI stworzyło mi subrepozytorium i na githubie nie dało się wejść do podfolderu application. Usunąłem katalog application, stworzyłem projekt Angulara jeszcze raz i dodałem do gita ponownie. Po tej operacji wszystko gra.

Jeszcze nie wiem jak będzie wyglądała konfiguracja VPS’a pod ten projekt, ale wiem, że będę musiał przekierować zapytania z adresu api.nazwa-aplikacji.com na port 81, a z nazwa-aplikacji.com na port 80. Tym będę się martwił potem, a póki co muszę zająć się konfiguracją JWT dla Symfony. Będę korzystał z pakietu LexikJWTAuthenticationBundle.

Ale jeszcze zanim to zrobię, muszę skonfigurować bazę danych w Symfony. W fazie developerskiej będę korzystał z SQLite, a potem ew. to zmienię. Symfony  korzysta z biblioteki Doctrine, więc nie powinno być z tym problemu.

Konfiguracja bazy SQLite w Symfony jest bardzo prosta, nie trzeba nawet zaglądać do dokumentacji, wszystko jest w komentarzach.

Najpierw w pliku config.yml muszę zmienić wartość driver na pdo_sqlite, oraz odkomentować linijkę ze ścieżką:

driver: pdo_mysql -> driver: pdo_sqlite
#path: "%database_path%" -> path: "%database_path%"

Powinno to wyglądać tak:

# Doctrine Configuration
doctrine:
    dbal:
        driver:   pdo_sqlite
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8
        # if using pdo_sqlite as your database driver:
        #   1. add the path in parameters.yml
        #     e.g. database_path: "%kernel.root_dir%/../var/data/data.sqlite"
        #   2. Uncomment database_path in parameters.yml.dist
        #   3. Uncomment next line:
        path:     "%database_path%"

Następnie kopiuję linijkę

database_path: "%kernel.root_dir%/../var/data/data.sqlite"

i wklejam do pliku parameters.yml, a następnie w pliku parameters.yml.dist muszę odkomentować tą samą linijkę.

Teraz w katalogu var, tworzę nowy katalog o nazwie data i w konsoli wywołuję komendę:

$ php bin/console doctrine:database:create

Po tej operacji powinien wyświetlić się komunikat o poprawnie utworzonej bazie danych, a w katalogu data powinien pojawić się plik data.sqlite.

Struktura projektu utworzona, baza danych skonfigurowana. To tyle na dziś.

Commit

Pozdrawiam!
MTK

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑