doc upt
This commit is contained in:
16
docs/access_control.md
Normal file
16
docs/access_control.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# General architecture
|
||||
|
||||
Each OpenCloud instance will provide an OpenId interface. This interface may be connected to an existing LDAP Server or a dedicated one.
|
||||
|
||||
# User rights definition
|
||||
|
||||
Each OpenCloud instance will manage it's users and their permissions :
|
||||
* a user has permition to start a distributed workflow in using remote peers
|
||||
* a user has administrative rights and may change the service exchenge rates
|
||||
* a user is limited to view financial information on the instance
|
||||
* a user belongs to a group (that may represent a project, a department,...)
|
||||
|
||||
# Authentication process
|
||||
|
||||
Each OpenCloud peer will accept a company as a whole.
|
||||
Upon user connection, it will receive user rights form the origninating OpenId connect server and apply them. ex: specific pricing for a group (company agreement, project agreement, ...)
|
||||
65
docs/development.md
Normal file
65
docs/development.md
Normal file
@@ -0,0 +1,65 @@
|
||||
# OpenCloud base stack
|
||||
|
||||
OpenCloud relies on a micro services architecture.
|
||||
Each component could be developed using specific technologies.
|
||||
However, in order to preserve product consistency and ease maintenance activities, we strongly encourage using the following technological stacks.
|
||||
|
||||
## Web services
|
||||
|
||||
Web services are developped in Go using Beego stack
|
||||
|
||||
### Environment setup
|
||||
|
||||
When using pricate repositories like the OpenCloud git forge, you should define it as a private repository
|
||||
|
||||
export GOPRIVATE=cloud.o-forge.io
|
||||
|
||||
The Beego stack provides the bee cli tool to ease building process :
|
||||
|
||||
go get github.com/beego/bee/v2@latest
|
||||
|
||||
### Project initialization
|
||||
|
||||
New component creation
|
||||
|
||||
go mod init oc-mycomponent
|
||||
|
||||
Refer to other services component main.go file to write a consitent initialisation process
|
||||
|
||||
### Project build
|
||||
|
||||
In order to build the software :
|
||||
|
||||
bee run -downdoc=true -gendoc=true
|
||||
|
||||
The -downdoc=true -gendoc=true will automatically generate swagger documentation in teh /swagger path
|
||||
|
||||
If default Swagger page is displayed instead of tyour api, change url in swagger/index.html file to :
|
||||
|
||||
url: "swagger.json"
|
||||
|
||||
If annotations are modified without any code changed, a rebuild might not reflect the changes.
|
||||
To force routing information update :
|
||||
|
||||
bee generate routers
|
||||
|
||||
## GUI compoenents
|
||||
|
||||
The GUI are developped using Flutter framework
|
||||
|
||||
### Environment setup
|
||||
|
||||
* Install Flutter framework
|
||||
* Install Android Studio
|
||||
* In "Tools"->"SDK Manager"->"Apparenace & Behaviour/System Settings/Android SDK", go to "SDK tools" and tick the "Android SDK command line tools"
|
||||
* Run <code>flutter doctor</code> commmand and follow instructions to accept SDK licenses
|
||||
* Add Vscode flutter plugin and use Vscode Command palette to create a Flutter project
|
||||
* Also set the target Device uring command Palette
|
||||
|
||||
### Project build
|
||||
|
||||
Depending on your target platform :
|
||||
|
||||
flutter build web
|
||||
flutter build linux
|
||||
flutter build windows
|
||||
Reference in New Issue
Block a user