Skip to content

socialappslab/appcivist-platform

Repository files navigation

The AppCivist Project

AppCivist (www.appcivist.org) is a software platform for democratic assembly and collective action that lets users design and build their own Assemblies, with modular components, to organize democratic action. The project was developed as a collaboration between the Social Apps Lab @ CITRIS at the University of California, Berkeley and Inria@Silicon Valley.

AppCivist Core Platform

This repository contains the source code of the core backend for AppCivist. The core platform provides a RESTful API for managing User authentication, Assembly and Contribution Making. To learn more about these concepts, read the Project Documentation below or go straight to Getting Started with the AppCivist Core Platform to download the source code, install the platform and run it.

Other project source code repositories

  • AppCivist-PB prototype UI: main prototype User Interface of the AppCivist Project for Participatory Budgeting.
  • AppCivist Voting API: AppCivist Prototype implementation of a Ballot Based Voting API that allows both registered and non-registered users to cast votes on AppCivist users contributions.

Altogether, the AppCivist-PB prototype UI connected to both the AppCivist Core Platform and the AppCivist Voting API form the alpha prototype of the AppCivist project.

![AppCivist alpha prototype simplified architecture](docs/images/Prototype Implementation Architecture.png)

Project Documentation

  1. AppCivist Technical Documentation and Development Guide (github) explains how to contribute to the project development, starting from the appcivist core platform.
  2. AppCivist API Docs include the API documentation for the two main APIs in use by the AppCivist UI:
  3. AppCivist Core Definitions (gdoc) offers an overview of the key concepts we use in our platform.
  4. AppCivist Conceptual Architecture Documentation (gdoc) is a conceptual description of the architecture, detailing the ideal components we have envisioned.
  5. AppCivist-PB User’s Guide (gdoc) is a simple, screen-based, user guide of the current user interface prototype that supports proposal and decision making activities for participatory budgeting.
  6. AppCivist 2-pages Product Pitch (gdoc) gives a quick overview of the project and its main ideas as a quick 1-page product pitch.

Local Deployment

To deploy this project locally, you can use docker and docker-compose. You should follow these steps:

  • Clone the repository with git clone git@github.com:socialappslab/appcivist-platform.git
  • Inside the project run docker-compose build
  • When the build finished run docker-compose up
  • Only the first time the backend should take a while to donwload all the dependencies and start
  • Then you can access the main page at http://localhost:9000 Optionally you can restore a copy of the test database to work with, with:
  • psql -U appcivist --host localhost --port 5433 -f .sql

run the provided slq script to get the test db only the first time the backend should take a while to donwload all the dependencies and start

Copyright

Created by the Social Apps Lab at CITRIS, University of California, Berkeley. The Social Apps Lab Team is led by Prof. James Holston (Director) and Dr. Cristhian Parra (Chief Developer). In partnership with the MiMove Team at INRIA, France, led by Dr. Valérie Issarny. This project was developed with funding from the EIT Digital, as a part of the EIT-Digital Activity CivicBudget in collaboration with TUB, Nexus, and Missions Publiques. Contributions from City of Vallejo, and Participa Project at DEI/Universidad Católica de Asunción (UC). 2017 © Regents of the University of California

License

All the components of this software are provided under a dual license model designed to meet the development and distribution needs of both open source projects and commercial use.

For open source projects, AppCivist is distributed free under the terms of the Social Apps Lab Open Source License. If you intend to use this software for commercial purposes, contact the project members below.

Who do I talk to?

  • James Holston: jholston AT berkeley DOT edu (Director, Social Apps Lab)
  • Cristhian Parra cdparra AT gmail DOT com (Chief Developer)