2019-04-29 12:46:13 +00:00
# SiB App
2018-11-07 18:05:32 +00:00
2019-04-29 12:46:13 +00:00
SiB App is the magic tool that allows the Happy Dev network to thrive in a decentralized way.
2018-09-28 19:24:25 +00:00
2019-04-29 12:46:13 +00:00
## Getting Started
2018-11-14 12:50:38 +00:00
2019-12-02 14:22:25 +00:00
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
2018-11-14 12:50:38 +00:00
2019-04-29 12:46:13 +00:00
### Prerequisites
2018-11-14 12:50:38 +00:00
2019-11-14 18:29:14 +00:00
To install SiB App, you'll need:
2018-11-14 12:50:38 +00:00
2020-02-03 13:39:14 +00:00
* A SIB server (djangoldp>=0.6.32) with the appropriate modules
2019-12-02 14:22:25 +00:00
* A Prosody Server (with [appropriate modules ](https://git.happy-dev.fr/startinblox/prosody/custom-prosody-modules/ )
* A SMTP Server (optional)
* NodeJS on your machine
2018-11-14 12:50:38 +00:00
2019-11-14 18:29:14 +00:00
Before diving in you have to check your SIB server supports the following LDP packages:
2018-11-14 12:50:38 +00:00
2020-02-03 13:39:14 +00:00
* djangoldp_account: 0.2.24
* djangoldp_circle: 0.1.22
* djangoldp_notification: 0.1.7
2019-12-02 14:22:25 +00:00
* djangoldp_profile: 0.1.4
2020-02-03 13:39:14 +00:00
* djangoldp_project: 0.1.26
2019-12-02 14:22:25 +00:00
* oidc_provider: 'git+https://github.com/jblemee/django-oidc-provider.git@develop'
2018-11-14 12:50:38 +00:00
2019-11-14 18:29:14 +00:00
Those packages are given with the last stable version tested.
2018-11-14 12:50:38 +00:00
2019-12-02 14:22:25 +00:00
Refer to the [documentation to install a SIB server ](https://git.happy-dev.fr/startinblox/devops/doc/wikis/install_sib_server ) with this configuration.
2019-04-29 12:46:13 +00:00
2019-11-14 18:29:14 +00:00
## Build the application
In order to find your server(s) the client application needs to be assembled with the proper configuration.
2019-04-29 12:46:13 +00:00
2019-11-14 18:29:14 +00:00
Get the code of the SIB app on your machine:
2019-12-02 14:22:25 +00:00
```bash
git clone ...
2019-04-29 12:46:13 +00:00
```
2020-02-03 13:39:14 +00:00
Then create a `config.json` based on your needs. [The documentation ](https://git.happy-dev.fr/startinblox/devops/doc/wikis/build_sib_application ) explains the details of this file but for convienence a `config.sample.json` exists in the source.
2019-11-16 15:04:38 +00:00
2020-02-03 13:39:14 +00:00
Current Sib App capabilities:
2019-11-16 15:04:38 +00:00
2020-02-03 13:39:14 +00:00
| Component | Required server packages | Required endpoints |
| - | - | - |
| Base | `djangoldp_account` , `djangoldp_profile` , `djangoldp_notification` , `oidc_provider` | `users` |
| Circles | `djangoldp_circle` | `circles` |
2020-02-24 14:27:25 +00:00
| Directory | `djangoldp_account` and `djangoldp_profile` | `users` + `publicDirectory` set to `true` |
2020-02-03 15:16:23 +00:00
| Events | `djangoldp_event` | `events` , `typeevents` , `uploads` |
2020-02-24 14:27:25 +00:00
| Projects | `djangoldp_project` | `projects` , `customers` |
2020-02-03 13:39:14 +00:00
Federated Sib App needs to use `config.sample.federated.json` example.
2019-04-29 12:46:13 +00:00
2019-11-14 18:29:14 +00:00
Then build your new SIB App:
2019-12-02 14:22:25 +00:00
```bash
npm run build
2019-11-14 18:29:14 +00:00
```
2019-04-29 12:46:13 +00:00
2019-11-14 18:29:14 +00:00
The application bundle is in the `dist` folder, ready to be deployed everywhere as a static file.
2019-04-29 12:46:13 +00:00
2019-12-02 14:22:25 +00:00
## Developpers
Serve, watch files & rebuild on change with this command:
```bash
npm run watch
```
2019-11-14 18:29:14 +00:00
## Built With
* [Sib-Core ](https://git.happy-dev.fr/startinblox/framework/sib-core/ ) - An awesome new framework!