Giter VIP home page Giter VIP logo

na4lapyapi's Introduction

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

na4lapyapi's People

Contributors

scootpl avatar wojciech-bilicki avatar na4lapy avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.