CodeforAustralia / govcore

An open source government platform concept

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Govcore

GovCore is information management system to run councils.

It tries to address these problems:

  • Satisfying audit
  • Supporting flexibility and continuous improvement
  • Resilience and scale in deployment options
  • Onboarding new functions and organisations (data migration)
  • Managing attachments like images, documents and records
  • Embedding spatial mapping
  • Managing roles and responsibilities
  • Adopting international and industry standards
  • Satisfying records management obligations

Read the GovCore Concept for a more detailed description.

About the Project

This project is the first attempt to realise Simons's vision of GovCore.

It was a six-week experiment ran at the City Of Melbourne by CodeForAustralia fellows Jonathan Castillo Bello and Victor Nava under the guidance and support of Simon Weller, Daniella Mazzone and Colin Fairweather.

The main goal of the project was to demonstrate that:

  1. A system following GovCore principles could be built
  2. Such system is a good option for building of apps for council

To achieve that, we built these prototypes:

  • GovCore: JSON Document/Template store accesible via HTTP API
  • GovAuth: An authorization system for CoM clients to login into CoM services.
  • GovBox: Web client to manage/explore GovCore

[TODO: diagram of what we built and how it's connected]

TODO: that was the result?

TODO: Spec (Blueprint)

TODO: put on a separate document?

Define distill the GovCore Way...

The GovCore Concept sets the Vision/Goals. We need to go down one level and specify the concept in more detail. We need to include enough information to able to implement GovCore in any platform/database/language.

GovCore stores its data in key/value pair documents in human readable format.

GovCore is composed of layers:

  • Rest API
  • Access Control
  • Workflow Management/Runner
  • Data Store Logic
  • Data Store Adapters (Document, Graph and Log)

Implementation Notes

TODO: Review focus on GovCore/GovAuth

Features List

  • Basic Rest API
  • CRUD Documents: Entities, Graph
  • Data validation with Template Documents
  • Store Events on data changes
  • Data validation with remote schema/api
  • Versioning
  • Access Control
  • Workflow Engine
  • Generic Client
  • Data importing tools

Roadmap

Research β†’ Prototype β†’ Real world build β†’ Real world use
              πŸ‘†
          You are here
  • Basic Prototype: CRUD Docs, Graph, Logs, Templates, Validation
  • Prototype GovAuth (App that runs on GovCore)
  • Prototype GovCore client (App that runs on GovCore)
  • Get funding πŸ’°
  • Prototype extended features (Versioning, Access Control, Workflows, Security)
  • Go to production with small real world case
  • Improve from experience
  • Get more funding πŸ’°
  • Build a few more clients (Scale)
  • Improve from experience
  • Get more funding πŸ’°
  • Marketplace: Build services for other gov agencies
  • Offer training
  • Start GovCore foundation 😊

About

An open source government platform concept


Languages

Language:Vue 73.0%Language:JavaScript 17.6%Language:Ruby 7.2%Language:CSS 2.0%Language:HTML 0.2%