participateapp / api

API backing Participate!, an app for democratic proposal-making
MIT License
1 stars 0 forks source link

Elixir/Phoenix API backing the Elm web-client for Participate!. More about the project on the web-client README

Setup

Prerequisites

Build

Get dependencies and compile:

$ mix deps.get
$ mix compile

Create a database participate_api_dev and insert initial data:

$ mix ecto.setup

To update an existing database with new migrations:

$ mix ecto.migrate

Start the API server:

$ mix phoenix.server

Running tests

When running the suite for the first time, run it twice: the first time you'll get an error about the test db not being created yet, the second time it'll run fine - the db will have been created by then.

$ mix espec

Espec is a BDD test framework very much like ruby's Rspec.

Deploy to Heroku

The API can be easily deployed to Heroku. Their free plan is sufficient for developing and demonstration.

The Phoenix Framework documentation provides a good overview of how to deploy an Elixir app.

Quick walkthrough:

Want to get involved?

We'll pair with you so you can get up to speed quickly, and we pair on features as well.

Shoot us an email, we'll add you to our Slack channel to join the discussion and talk about next steps.

Please check out the contributing guide and our code of conduct


Participate was inspired by LiquidFeedback, and the book published by its authors: Principles of Liquid Feedback