fixthestatusquo / archive-proca-backend

Backend for the ultimate petition/campaigning tool
GNU Affero General Public License v3.0
7 stars 2 forks source link
campaigning elixir phoenix

Proca - Progressive Campaigning backend

An universal action tool backend for JAM stack apps. Elixir app that uses PostgreSQL as data store and RabbitMQ for data processing. It is the backend / datastore for Proca Widget.

It is made with love, elixir and hope we can change the world for the better.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Contributor Covenant

Features

Prerequisites

PostgreSQL >= 10

Elixir >= 1.10

Erlang Solutions provides packages and binaries for download.

You'll need the following packages:

erlang-base erlang-dev erlang-parsetools erlang-xmerl elixir

RabbitMQ

NodeJS (14..)

Prerequisites

PostgreSQL >= 10

Elixir >= 1.10

Erlang Solutions provides packages and binaries for download.

You'll need the following packages:

erlang-base erlang-dev erlang-parsetools erlang-xmerl elixir

RabbitMQ (version?)

NodeJS (>= 10?) / npm >= 7?

Development setup

The script utils/configure-development-environment.sh will setup PostgreSQL, the Erlang / Elixir / Pheonix server, the RabbitMQ server and runs npm install in the assets directory.

The script needs a few ENV varaibles set:

$ export ADMIN_EMAIL=you@example.com MIX_ENV=dev ORGANISATION='fix-the-status-quo'

You'll need sudo to run the parts of the script that configure PostgreSQL.

$ ./utils/configure-development-environment.sh

The seeds.exs command will print out your login and password:

#####
#####   Created Admin user email@example.com  #####
#####   Password: VERY_RANDOM_PASSWORD
#####

You can then run the development server.

$ mix phx.server

By default, the development webserver is located at http://localhost:4000/

Configuration

See config/config.exs and config/dev.exs for configuration options.