debianize-mobilizon/support/guides/development/development.md
Thomas Citharel bba6629046
Better docs
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

Nicer docs

No 3rd stage

Add mix.deps get before docs

Add :ex_doc on test env so that it runs into CI
2019-03-18 12:10:29 +01:00

2.1 KiB

Development

Clone the repo, and start the project trough Docker. You'll need both Docker and Docker-Compose.

git clone https://framagit.org/framasoft/mobilizon && cd mobilizon
make

Manual

Server

  • Install dependencies:

  • Start services:

    • Start postgres
  • Setup services:

    • Make sure the postgis extension is installed on your system.

    • Create a postgres user with database creation capabilities, using the following: createuser -d -P mobilizon and set mobilizon as the password.

    • Create your database with mix ecto.create.

    • Create the postgis extension on the database with a postgres user that has superuser capabilities: psql mobilizon_dev

      create extension if not exists postgis;

    • Run migrations: mix ecto.migrate.

  • Start Phoenix endpoint with mix phx.server.

Now you can visit localhost:4000 from your browser and see the website (server and client) in action.

Client

If you plan to specifically change the client side (frontend), do the following once the server is running:

  • Install the NodeJS (we guarantee support for the latest LTS and later)
  • Change directory to js/ and do:
    • Install JavaScript package dependencies: npm install.
    • Run the developement server in watch mode: npm run dev. This will open a browser on localhost:8080 that gets automatically reloaded on change.

Docker

You need to install the latest supported Docker and Docker-Compose before using the Docker way of installing Mobilizon.

Just run :

make start

to start a database container, an API container and the front-end dev container running on localhost.