initial commit

This commit is contained in:
ycc
2026-01-20 19:49:41 +01:00
commit 30a59d7e4e
30 changed files with 12607 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
+++
title = "Downloads"
description = "Source code"
+++
Right now OpenCloud is only distributed as source code.
It can be accessed though our forge [https://cloud.o-forge.io](https://cloud.o-forge.io)
---
# Development
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 the /swagger path
If default Swagger page is displayed instead of your 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 components
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 using command Palette
### Project build
Depending on your target platform :
flutter build web
flutter build linux
flutter build windows