Skip to content
Personal, Reactive, Open, Private, Secure. Own and control YOUR data.
Scala Other
  1. Scala 99.1%
  2. Other 0.9%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
project
src
welcomer-link
welcomer-signpost
welcomer-utils
.gitignore
CHANGES.md
LICENSE
README.md
activator
activator-launch-1.2.3.jar
aspectj.sbt
build.sbt
db-init.sh
ecis.db.example.json
picos.db.example.json

README.md

Welcomer Framework

Join the chat at https://gitter.im/welcomer/framework

(Just want to dive in? Check out Getting Started below)

What is the Welcomer framework?

The Welcomer framework supports building microservices to flexibly automate your online tasks, putting control of your personal data back in your hands.

  • Link to preexisting services/silo's; if it has an API then we can link to it.
  • Provide a simple process for consuming events, extracting the relevant details, and reacting to them.

Why?

The web is plagued by a series of data silos, each holding their own slice of your personal data but not giving you the freedom to access, use and share it as you desire. This trend has been slowly changing for the better in recent year with many services now providing API's to access their data, allowing new applications to thrive. Unfortunately most of these applications are designed in a rigid way to support a narrowly predefined use. We're all different and our needs and desires for what an application should do vary just as much. The solution is to provide a flexible, open framework that makes it easy to securely and privately use your data as you see fit.

PROPS

Our approach was to utilise open standards along with concepts from Phil Windley's 'The Live Web' to create a Personal, Reactive, Open, Private and Secure framework.

  • Personal
    • A system running on YOUR behalf, reacting to triggers YOU define, doing what YOU want. Own and control YOUR data.
  • Reactive
  • Open
    • Open Source: Freely use, modify and contribute to the codebase to suit your needs. Licensed under Apache 2.0
    • Open Design: Create flexible event driven microservices. Don't be restricted by what someone else says you should do.
    • Open Communication: Open engagement with the community to build the best product we can. None of us is as smart as all of us.
    • TODO: talk openly, develop openly
  • Private
  • Secure
    • Following industry standards and best practice to ensure a secure system.

Want to help?

  • Got a great idea? Found a nasty bug? Just want to ask a question? Awesome, engage with us at the issue tracker.
  • Feel like adding a feature, squashing some bugs, or just tidying up a bit? Pull requests are Welcome(r)d with <3

Getting Started

Using SBT

resolvers += "Welcomer Maven Bintray" at "https://dl.bintray.com/welcomer/maven/"

libraryDependencies ++= Seq(
  "me.welcomer" %% "welcomer-framework" % "0.1.4.3"
)

Clone this repo

What is a pico?

A term coined by Phil Windley, a pico (or persistent compute object) is an individual building block of a personal cloud, having the following characteristics:

  • Identity - they represent a specific entity
  • Storage - they persistently encapsulate both structured and unstructured data
  • Open event network - they respond to events
  • Processing - they run applications autonomously
  • Event Channels - they have connections to other picos
  • APIs - they provide access to and access other online services

A pico can be thought of as a self contained microservice that can accept events, store/manipulate data based on rules, and output events/data.

Future Ideas / Wishlist

  • Command line administration tool
    • Create/delete picos
    • Install rulesets
    • Etc
  • Administration ruleset/API?
  • Web interface/GUI

Technologies

Similar Applications

  • Kinetic Rule Language / Kinetic Rules Engine / CloudOS: Phil Windley and Kynetx's personal cloud architecture.
  • Huginn: Build agents that monitor and act on your behalf. Your agents are standing by!
  • IFTTT: IFTTT is a service that lets you create powerful connections with one simple statement: if this then that.
  • Zapier: Connect your apps, automate your work.
You can’t perform that action at this time.