Skip to content

aquametalabs/aquameta

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Aquameta v0.3

Not your grandma's web stack.

The idea:

  • Decentralized P2P network for data exchange
  • Built ontop of PostgreSQL, everything lives in the database
  • Build countless apps and data projects
  • No command-line, fully web-based IDE
  • Within an app, switch to developer/debugger mode and inspect and make changes to the app
  • Built-in peer-to-peer facilities for exchanging data/apps/whatever directly with other installations
  • Advanced version control over all the datas of the stack

Reality:

Still feature-incomplete and under development but maybe fun to check out!

START!

First install Golang, then run:

git clone https://github.com/aquametalabs/aquameta.git
cd aquameta
go build
./aquameta --help
./aquameta -c conf/some_config_file.toml

Status

Aquameta is an experimental project, still in early stages of development. It is not suitable for production development and should not be used in an untrusted or mission-critical environment.

Architecture

Aquameta is composed of several PostgreSQL extensions, using a CREATE EXTENSION meta for example. Together, they make up a functional programming envirionment built with mostly just the database. A thin Golang binary handles the connection to the database and runs a webserver.

Aquameta's PostgreSQL EXTENSIONs are:

  • meta - Writable system catalog for PostgreSQL, making most database admin tasks possible by changing live data. Makes the database self-aware.
  • bundle - Version control system similar to git but for database rows instead of files.
  • event - Lets you monitor tables, rows and columns for inserts, updates and deletes, and get a PostgreSQL NOTIFY as such.
  • endpoint - Minimalist web framekwork implemented as PostgreSQL procedures: A REST API, static recources, function maps and URL templates.
  • widget - Minimalist HTML component framework for building widget-based interfaces with jQuery
  • semantics - Schema decorators, for describing columns, tables etc.

User Interface

There's an IDE, and a few demos and such on youtube.