francois / almoneya

Double-entry accounting system written in Scala + Elm over PostgreSQL

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Almoneya

A double-entry accounting system

This is an exploration into alternative schemas, using different tools than what I use everyday.

  • Implementation languages: Scala and Elm;
  • Strongly typed domain objects (use TenantId instead of Int to represent tenant IDs, for example);
  • Schema management: Sqitch;
  • Web server: Jetty
  • Patterns: Repository Pattern.

How to start

At the moment, only the API is exposed. To play with the API, run the following commands, after installing VirtualBox and Vagrant.

vagrant up
vagrant ssh
cd /vagrant
bin/bootstrap

bin/sbt test run

# In another terminal window, run:
curl --silent --user username:francois http://localhost:8080/api/accounts/ | jq --color-output . | less --RAW-CONTROL-CHARS

Project Organisation

The almoneya-api/ directory holds the actual API. This is a Scala project. The almoneya-frontend/ directory holds the frontend application, written in Elm. Each project has further information on how to build and maintain it.

About

Double-entry accounting system written in Scala + Elm over PostgreSQL


Languages

Language:Scala 55.4%Language:Elm 16.4%Language:PLpgSQL 14.5%Language:CSS 6.5%Language:Shell 4.2%Language:Puppet 2.0%Language:Batchfile 0.4%Language:JavaScript 0.3%Language:HTML 0.3%