# SiB App SiB App is the magic tool that allows the Happy Dev network to thrive in a decentralized way. ## Getting Started These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. ### Prerequisites To install SiB App, you'll need: * A SIB server with the appropriate modules * A Prosody Server * A SMTP Server (optional) * NodeJS on your machine Before diving in you have to check your SIB server supports the following LDP packages: * djangoldp_project: 0.1.12 * djangoldp_uploader: 0.0.5 * djangoldp_circle: 0.1.9 * djangoldp_notification: 0.1.4 * djangoldp_account: 0.2.12 * djangoldp_skill: 0.1.1 * djangoldp_joboffer: 0.1.1 * djangoldp_conversation: 0.2.1 * djangoldp_profile: 0.1.4 * djangoldp_invoice: 0.1.0 * oidc_provider: 'git+https://github.com/jblemee/django-oidc-provider.git@develop' Those packages are given with the last stable version tested. Refer to the [documentation to install a SIB server](https://git.happy-dev.fr/startinblox/devops/doc/wikis/y_a_sib_application) with this configuration. ## Configure your SIB server Create a Client ID for Prosody & Client - Go to `localhost:8000/admin/` - Login with previously created account. - If needed you can create another admin account with `./manage.py createsuperadmin` - Add a `Clients` on `OpenID Connect Provider` section - Name it as you wish - `Client type`: `Public` - `Response types`: `id_token token (Implicit Flow)` - `Redirect URIs`: ``` http://localhost:3000 http://127.0.0.1:3000 http://0.0.0.0:3000 http://localhost:8000 https://myserver.com ``` - Keep the `6-digits` newly create `Client ID` somewhere ## Build the application In order to find your server(s) the client application needs to be assembled with the proper configuration. Get the code of the SIB app on your machine: ``` $ git clone ... ``` Then create a `config.json` with all the server hosting the capabilities the SIB App requires (for convienence a `config.sample.json` exsits): ``` { "sdn": "http://api.myserver.com", # Or localhost:8000 "cdn": "https://cdn.happy-dev.fr", "xmpp": "https://prosody.myserver.com/http-bind/", "client_id": "000000" # <- Here goes your previously created Client ID }, ``` FIXME: complete the file and explain details Then build your new SIB App: ``` $ npm run build ``` The application bundle is in the `dist` folder, ready to be deployed everywhere as a static file. ## Built With * [Sib-Core](https://git.happy-dev.fr/startinblox/framework/sib-core/) - An awesome new framework!