hubl/README.md

82 lines
2.6 KiB
Markdown

# 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.
### Prerequisites
To install SiB App, you'll need:
* A SIB server (djangoldp>=0.6.32) with the appropriate modules
* A Prosody Server (with [appropriate modules](https://git.happy-dev.fr/startinblox/prosody/custom-prosody-modules/)
* A SMTP Server (optional)
* NodeJS on your machine
Before diving in you have to check your SIB server supports the following LDP packages:
* djangoldp_account
* djangoldp_circle
* djangoldp_joboffer
* djangoldp_conversation
* djangoldp_notification
* djangoldp_profile
* djangoldp_project
* djangoldp_skill
* 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/install_sib_server) with this configuration.
## 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:
```bash
git clone ...
```
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.
Current Sib App capabilities:
| Component | Required server packages | Required endpoints |
| - | - | - |
| Base | `djangoldp_account`, `djangoldp_profile`, `djangoldp_notification`, `oidc_provider` | `users` |
| Circles | `djangoldp_circle` | `circles` |
| Directory | `djangoldp_account` and `djangoldp_profile` | `users` + `publicDirectory` set to `true` |
| Events | `djangoldp_event` | `events`, `typeevents`, `uploads` |
| Projects | `djangoldp_project` | `projects`, `customers` |
Federated Sib App needs to use `config.sample.federated.json` example.
You can quickly update your API URI from the samples:
```
$ sed 's/http:\/\/localhost:8000/https:\/\/api.test2.startinblox.com/' config.sample.json > config.json
```
Then build your new SIB App:
```bash
npm run build
```
The application bundle is in the `dist` folder, ready to be deployed everywhere as a static file.
## Developpers
Serve, watch files & rebuild on change with this command:
```bash
npm run watch
```
## Built With
* [Sib-Core](https://git.happy-dev.fr/startinblox/framework/sib-core/) - An awesome new framework!