Skip to content

scootpl/Na4LapyAPI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API w Swift dla aplikacji Na4Łapy

"Na4Łapy" to aplikacja pozwalająca przeglądać zdjęcia i opisy zwierząt znajdujących się pod opieką gdańskiego schroniska Promyk. Użytkownik może w prosty sposób dodawać psy i koty do listy ulubionych oraz przekazywać datki na zwierzęta w formie elektronicznych mikropłatności.

Zapraszamy na stronę http://na4lapy.org

Instalacja dla systemu macOS

Zainstaluj PostgreSQL

brew install postgresql
brew link postgresql
brew services start postgresql

// to stop 
brew services stop postgresql

Podlinkuj katalog include ze swojego repozytorium homebrew zgodnie z poniższym wzorcem:

$ ls -l /usr/local/include
lrwxr-xr-x  1 root  wheel  54 27 gru 13:48 /usr/local/include -> /Users/YOUR_LOGIN/homebrew/Cellar/postgresql/9.6.1/include/

Przygotuj bazę Na4lapy zgodnie z instrukcją

[TODO]

Pobierz repozytorium

$ git clone https://github.com/na4lapy/Na4LapyAPI

Zbuduj projekt dla XCode

$ cd Na4LapyAPI
$ swift package generate-xcodeproj

Uruchom XCode i załaduj utworzony plik projektu

Zmodyfikuj schemat zgodnie z instrukcją:

XCode -> Product -> Scheme -> Edit Scheme

jako 'Executable' wybierz 'Na4lapyAPI'

Skompiluj i uruchom projekt

Aplikacja domyślnie słucha na porcie 8123, parametry połączenia można przekazać za pomocą zmiennych środowiskowych:

export N4L_API_DATABASE_USER="na4lapy"
export N4L_API_DATABASE_PASS="___PASS___"

Domyślne parametry połączenia znajdują się w pliku Constants.swift

struct DBDefault {
    static let dbname = "na4lapyprod"
    static let user = "na4lapy"
    static let password = "na4pass"
    static let host = "127.0.0.1"
}

Instalacja dla systemu Linux

W systemie musi być zainstalowany Swift 3.0.x

W systemie musi być zainstalowany PostgreSQL wraz z pakietami developerskimi

Kompilacja:

$ cd Na4LapyAPI
$ swift build

W wyniku zostanie zbudowany plik '.build/debug/Server'

Przykładowy skrypt uruchamiający

#!/bin/bash
export N4L_API_DATABASE_USER="na4lapy"
export N4L_API_DATABASE_PASS="___PASS___"

.build/debug/Server

Deploy nowej wersji API

Wszystkie operacje muszą być wykonywane w imieniu użytkownika 'na4lapy'. Z tego powodu, po zalogowaniu jako 'root' należy wykonać polecenie:

# su - na4lapy

Kod źródłowy znajduje się w katalogu /opt/Na4LapyAPI/ Aby pobrać najnowszą wersję należy wykonać polecenie 'git pull', oraz uruchomić testy i kompilację

$ cd /opt/Na4LapyAPI
$ git pull
$ swift test
$ swift build

Po poprawnie wykonanej kompilacji należy wykonać restart serwera api:

$ sudo systemctl restart na4lapyapi

Dodatkowo możliwe są operacje zatrzymywania, uruchamiania oraz badania stanu serwera api:

$ sudo systemctl stop na4lapyapi
$ sudo systemctl start na4lapyapi
$ sudo systemctl status na4lapyapi

Logi serwera api dostępne są za pomocą polecenia:

$ sudo journalctl -fu na4lapyapi

Releases

No releases published

Packages

No packages published

Languages

  • Swift 99.1%
  • Shell 0.9%