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 4d42e4f40e #57 Added unit tests for ObservableListChangeAdapterTest 4 weeks ago
Design #57 Implementing cloud transaction handling (ongoing). 2 months ago
Documents Merge branch 'main' into hector 1 year ago
compiler #20 Updated license headers. 1 year ago
config #57 Implementing cloud transaction handling (ongoing). 1 month ago
crypto #74 Updated to detekt 1.19 + resulting code and config fixes 4 months ago
error #20 Updated license headers. 1 year ago
events #51 Removed API dependencies 6 months ago
expr #20 Updated license headers. 1 year ago
gradle/wrapper #51 Upgraded to gradle 7.1.1 and kotlin 1.5.21 10 months ago
http #51 Implemented different instances for odo apps 9 months ago
issues #57 Started 4 months ago
jekyll #48 Added api documentation 11 months ago
licenses_3rdParty #20 Checked 3rd party licenses and added according about info to the UI. 1 year ago
numbers #20 Updated license headers. 1 year ago
odo.api #57 Refined persisten collection interfaces and implemented ObservableCollection views for underlying const lists. 1 month ago
odo.api.common #57 Refined persisten collection interfaces and implemented ObservableCollection views for underlying const lists. 1 month ago
odo.api.desktop #57 Added unit tests for ObservableListChangeAdapterTest 4 weeks ago
odo.api.meta #57 Changed homeURI Contact property to a map of URIs. 1 month ago
odo.boot/src/main #51 Removed ServiceGetter from kernel init args map and added it to the context instead. 6 months ago
odo.chat #57 Refined persisten collection interfaces and implemented ObservableCollection views for underlying const lists. 1 month ago
odo.cloud #71 Updated kotlinx-serialization-json to version 1.3 4 months ago
odo.cloud.ipfs #57 Implemented cloud read access incl. caching of downloaded content. 3 months ago
odo.content #57 Implementing cloud transaction handling (ongoing). 1 month ago
odo.hello #51 Code cleanups 6 months ago
odo.kernel #57 Implemented cloud read access incl. caching of downloaded content. 3 months ago
odo.kernel_it #57 Changed interfaces of shared collections and views. 1 month ago
odo.launcher #71 Updated kotlinx-serialization-json to version 1.3 4 months ago
odo.loader #57 Implementing cloud transaction handling (ongoing). 2 months ago
odo.loader_it #57 Implemented cloud read access incl. caching of downloaded content. 3 months ago
odo.testing #60 Added central component for initialization of JavaFx toolkit for tests. 5 months ago
odo.tryui #57 Refined persisten collection interfaces and implemented ObservableCollection views for underlying const lists. 1 month ago
odo.ui #57 Changed interfaces of shared collections and views. 1 month ago
odo.ui.desktop #71 Updated kotlinx-serialization-json to version 1.3 4 months ago
odo.ui.desktop.model #71 Updated kotlinx-serialization-json to version 1.3 4 months ago
pages@eaf842df8e #60 Changes in submodules 5 months ago
random #51 Fixed mock and coverage problems. 6 months ago
testing #57 Fixed indentation 3 months ago
units #74 Updated to detekt 1.19 + resulting code and config fixes 4 months ago
utils #57 Code cleanup. 4 months ago
.gitattributes Initial project structure 2 years ago
.gitignore #20 Checked 3rd party licenses and added according about info to the UI. 1 year ago
.gitmodules #37 moved odo content to the odo subfolder 1 year ago
LICENSE added license and coding style 2 years ago
NOTICE #20 Checked 3rd party licenses and added according about info to the UI. 1 year ago
README.md #37 Fixed dangling link 12 months ago
build.gradle.kts #74 Updated to detekt 1.19 + resulting code and config fixes 4 months ago
gradle.properties #74 Updated to detekt 1.19 + resulting code and config fixes 4 months ago
gradlew Initial project structure 2 years ago
gradlew.bat Initial project structure 2 years ago
ipfs.sh #31 Enable running multiple instances 1 year ago
issues.sh #43 Updated branching document and added issues.sh script for handling issue state for git branches 1 year ago
listLibs.sh #20 Checked 3rd party licenses and added according about info to the UI. 1 year ago
run.sh #42 Added pubsub support to IPFS API 1 year ago
settings.gradle.kts #60 Added central component for initialization of JavaFx toolkit for tests. 5 months 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.