You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Kai Bösefeldt d62c354bb5 Merge pull request '#51 Assign identity to app' (#52) from 51 into hector 3 days ago
Design #51 Updated file structure documentation. 5 days ago
Documents Merge branch 'main' into hector 6 months ago
compiler #20 Updated license headers. 8 months ago
config #51 Re-enabled license header check. 4 months ago
crypto #51 Implemented different instances for odo apps 3 months ago
error #20 Updated license headers. 8 months ago
events #51 Removed API dependencies 7 days ago
expr #20 Updated license headers. 8 months ago
gradle/wrapper #51 Upgraded to gradle 7.1.1 and kotlin 1.5.21 5 months ago
http #51 Implemented different instances for odo apps 3 months ago
issues #51 Set issue do done. 3 days ago
jekyll #48 Added api documentation 6 months ago
licenses_3rdParty #20 Checked 3rd party licenses and added according about info to the UI. 8 months ago
numbers #20 Updated license headers. 8 months ago
odo.api #51 Code cleanups 3 days ago
odo.api.common #51 Code cleanups 3 days ago
odo.api.desktop #51 Code cleanups 3 days ago
odo.api.meta #51 Code cleanups 3 days ago
odo.boot/src/main #51 Removed ServiceGetter from kernel init args map and added it to the context instead. 1 week ago
odo.chat #51 Code cleanups 3 days ago
odo.cloud #51 Code cleanups. 3 days ago
odo.cloud.ipfs #51 Fixed mock and coverage problems. 2 weeks ago
odo.content #51 Fixed typo. 3 weeks ago
odo.hello #51 Code cleanups 3 days ago
odo.kernel #51 Removed obsolete dependencies. 3 days ago
odo.kernel_it #51 Code cleanups. 3 days ago
odo.launcher #51 Added missing required module. 1 month ago
odo.loader #51 Removed obsolete dependencies. 3 days ago
odo.loader_it #51 Extracted context and factory from api to api.meta. 5 days ago
odo.ui #51 Code cleanups. 3 days ago
odo.ui.desktop #51 Code cleanups. 3 days ago
odo.ui.desktop.model #51 Implemented reading of identity together with app instance. 2 weeks ago
pages@7fbc4a8eed #51 Implemented different instances for odo apps 3 months ago
random #51 Fixed mock and coverage problems. 2 weeks ago
testing #51 Code cleanups and experimental marks 1 month ago
units #20 Updated license headers. 8 months ago
utils #51 Code cleanups. 3 days ago
.gitattributes Initial project structure 1 year ago
.gitignore #20 Checked 3rd party licenses and added according about info to the UI. 8 months ago
.gitmodules #37 moved odo content to the odo subfolder 6 months ago
LICENSE added license and coding style 1 year ago
NOTICE #20 Checked 3rd party licenses and added according about info to the UI. 8 months ago
README.md #37 Fixed dangling link 6 months ago
build.gradle.kts #51 Removed commented out code. 5 days ago
gradle.properties #51 Updated do kotlin 1.5.31. 2 weeks ago
gradlew Initial project structure 1 year ago
gradlew.bat Initial project structure 1 year ago
ipfs.sh #31 Enable running multiple instances 8 months ago
issues.sh #43 Updated branching document and added issues.sh script for handling issue state for git branches 7 months ago
listLibs.sh #20 Checked 3rd party licenses and added according about info to the UI. 8 months ago
run.sh #42 Added pubsub support to IPFS API 6 months ago
settings.gradle.kts #51 Extracted context and factory from api to api.meta. 5 days ago

README.md

ODO Distributed Online

Breaking News: Proof-of-Concept Prototype released!!

From now on, the ODO project is open for contribution!! Please help!!

What is ODO?

Currently: Work in progress, pre-alpha, available only as proof-of-concept prototype.

What is the Vision behind ODO?

ODO wants to become the "swiss army knife" for the development of distributed communication apps. It will allow developing such apps for various platforms: mobile, desktop, server, maybe even IoT devices. A layered API will allow quick development of simple apps in a low-code-manner, or complex apps using all the features of modern software development environments.

Get rid of Backend Servers

One of the key ideas is to get rid of central servers, meaning the app is really just the app on the device it is running on, no backends, no serers. All data is encrypted and distributed over all devices having ODO installed (using IPFS). This means that an app with ODO can be run with minimal resources on the operator side, as you don't need AWS, Firebase, Azure or whatever.

Make Privacy and Security easy

One of the main goals of the layered API is to make it easy to develop secure apps with good privacy by design. Of course it is not possible, to have an API which technically prevents all possible security vulnerabilities and privacy problems. But an API can focus on privacy and security, and make these things easy. And while categories of privacy problems arising from a single entity controlling a central server, these kinds of problems simply does not exist with ODO.

Have a closer look at the top level design document for more info about the technical ideas.

When can I have it?

Please be patient ;-) We have the following milestones until the 1.0 release (checked=reached):

  • Proof-of-concept Prototype: We have a simple "Hello World" app with a first simple version of the ODO API. This app is distributed via IPFS and can be loaded and run by every ODO installation..
  • App: Project Chat: The first useful ODO app should be a simple chat app used by the ODO developers to organize their work. This way, they get a feeling for the API and see, what is needed most badly.
  • Pilot Apps: A few pilot apps, covering important basic use cases, should be developed. These pilot apps should cover most parts of the ODO API, so that it is oriented on the practial needs of app developers. These pilot apps could be developed for interested 3rd parties.
  • Stable API: Problems in the ODO API are identified and fixed and the API is reviewed and stabilized.
  • Release 1.0

I want to contribute!

If you would like to contribute, start with this document, and the go on with onboarding. Also have a look at your code of conduct.