@extends('layouts.app') @php $target = config('app.funding.target_eur'); $collected = config('app.funding.collected_eur'); $period = config('app.funding.period'); $percent = ($collected / $target) * 100; if ($percent == 0) $percent = 1; // make a bit of the green show up @endphp @section('content')
The server is written in PHP using the Laravel framework. The data is stored in a PostgreSQL database. The front-end is based on Bootstrap 4, including jQuery Slim, lodash, the axios HTTP library, and the reactive JavaScript framework Vue. We use Webpack to compile and minify JavaScript and SCSS. Most icons come from Fork Awesome, using our Fork Awesome customizer to exclude unused icons.
It's complicated, and a great deal of thought went into the database design.
A key thing to know is that table rows and revisions are immutable, and work in a way a bit similar to Git, except we don't actually use Git, it's all in the database. Rows and columns have unique IDs that ensure a change proposal (merge request) can be applied to any fork of a table, and in any revision. A row change results in a new copy of the row being created, but maintaining the original row ID. Columns are, likewise, identified by their IDs; names are defined only in the revision object (a "header" of a table version), so changing a column name or order does not alter the row data in any way.