74dfec5a5e
update: add Matomo and Google analytics + Rewrite readme for a complete configuration See merge request applications/sib-app!123 |
||
---|---|---|
.gitlab | ||
src | ||
.babelrc | ||
.gitignore | ||
.gitlab-ci.yml | ||
config.sample.federated.json | ||
config.sample.json | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
SiB App
SiB App is the magic tool that allows the Freelance 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.41) with the appropriate modules
- A Prosody Server (with appropriate 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_dashboard
- 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 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:
git clone ...
Then create a config.json
based on your needs, see Mandatory and Optional Modules on this page. For convienence a config.sample.json
exists in the source.
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:
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:
npm run watch
Mandatory modules
By default, a SIB App includes only individual chat modules.
On Server: djangoldp_account
, djangoldp_profile
, djangoldp_notification
, oidc_provider
packages
On config.json
:
{
"xmpp": "https://jabber.happy-dev.fr/http-bind/",
"authority": "http://localhost:8000/",
"endpoints": {
"users": "http://server.url/users/"
}
}
Where:
xmpp
is your Prosody with appropriate modules configured on.authority
is the OpenID Provider. Usually, if you usedjangoldp-account
it's the same as your djangoldp server.endpoints.users
is the API endpoints for Users on your djangoldp server.
Optional personalisation
On config.json
:
"clientName": "Sib App",
"clientLogo": "/images/logo.png",
"clientLogoHeight": "32px",
"clientCSS": "/path/to/custom.css",
"authorityName": "djangoldp-server-name"
Where:
clientName
is the name of your SIB App.clientLogo
is an URL to a distant logo for your clientclientLogoHeight
allow a quick fix to manage different height logosclientCSS
is an URL to a distant CSS that'll be the last one loaded by the SIB AppauthorityName
is a visual name of your OpenID Provider
Optional modules
Circles
Circles are a public group chat. To activate them, you need:
On Server: djangoldp_circle
packages
On config.json
:
"endpoints": {
"circle": "http://server.url/circles/"
}
Events
Events allow to create and manage instance-level evenement. To activate them, you need:
On Server: djangoldp_event
and djangoldp_upload
packages
On config.json
:
"publicDirectory": true
Project
(Experimental) Project are a private group chat including Customer and Business Provider management. To activate them, you need:
On Server: djangoldp_project
packages
On config.json
:
"endpoints": {
"projects": "http://server.url/projects/",
"customers": "http://server.url/customers/",
"businessproviders": "http://server.url/businessproviders/",
"skills": "http://server.url/skills/"
}
Users Directory
(In development) Directory includes a listing of each users of your app and editable individual profile. To activate them, you need:
On config.json
:
"endpoints": {
"projects": "http://server.url/projects/",
"customers": "http://server.url/customers/",
"businessproviders": "http://server.url/businessproviders/",
"skills": "http://server.url/skills/"
}
Dashboard
(In development) Dashboard includes card generation from HTML. To activate them, you need:
On config.json
:
"endpoints": {
"dashboard": "http://server.url/dashboard/"
}
Analytics
SIB App support Google or Matomo as analytics trackers. To use them, add to your config.json
:
"analytics": [
{
"type": "matomo", //Or "google"
"url": "https://my-personal-.matomo.cloud/",
"id": "1"
}
]
Built With
- Sib-Core - An awesome new framework!