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
This commit is contained in:
Thomas Citharel
2019-03-14 15:00:34 +01:00
parent c20eaa379c
commit bba6629046
19 changed files with 772 additions and 150 deletions

View File

@@ -1,68 +1,61 @@
# Mobilizon
<h1 align="center">
<a href="https://joinmobilizon.org">
<img src="http://lutim.cpy.re/m9Y8rXRU.png" alt="Mobilizon">
</a>
</h1>
Your federated organization and mobilization platform. Gather people with a convivial, ethical, and emancipating tool.
MobiliZon is your federated organization and mobilization platform. Gather people with a convivial, ethical, and emancipating tool.
## Development
Clone the repo, and start the project trough Docker. You'll need both Docker and Docker-Compose.
```bash
git clone https://framagit.org/framasoft/mobilizon && cd mobilizon
make
```
### Manual
<p align="center">
<strong>Developed with ♥ by <a href="https://framasoft.org">Framasoft</a></strong>
</p>
#### Server
<p align="center">
<a href="https://framasoft.org">
<img width="150px" src="http://lutim.cpy.re/Prd3ci7G.png" alt="Framasoft logo"/>
</a>
</p>
* Install dependencies:
* Elixir (and Erlang) by following the instructions at [https://elixir-lang.github.io/install.html](https://elixir-lang.github.io/install.html)
* Fetch backend Elixir dependencies with `mix deps.get`.
* PostgreSQL
* 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`
## Introduction
``` create extension if not exists postgis; ```
Mobilizon is a tool designed to create platforms for managing communities and events. Its purpose is to help as many people as possible to free themselves from Facebook groups and events, from Meetup, etc.
* Run migrations: `mix ecto.migrate`.
* Start Phoenix endpoint with `mix phx.server`.
The MobiliZon software is under a Free licence, so anyone can host a MobiliZon server, called an instance. These instances may federate with each other, so any person with an account on *ExampleMeet* will be able to register to an event created on *SpecimenEvent*.
Now you can visit [`localhost:4000`](http://localhost:4000) from your browser
and see the website (server *and* client) in action.
## ✨ Features
#### Client
### 👤 Identities
If you plan to specifically change the client side (frontend), do the following
once the server is running:
Do you want to separate your family gatherings from your associative activities or militant mobilizations?
You will have the power to create multiple identities from the same account, like so many social masks.
* Install the NodeJS (we guarantee support for the latest LTS and later) ![](https://img.shields.io/badge/node-%3E%3D%2010.0+-brightgreen.svg)
* 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`](http://localhost:8080) that gets
automatically reloaded on change.
---
### Docker
You need to install the latest supported [Docker](https://docs.docker.com/install/#supported-platforms) and [Docker-Compose](https://docs.docker.com/compose/install/) before using the Docker way of installing Mobilizon.
### 📅 Events and groups
Just run :
```bash
make start
```
to start a database container, an API container and the front-end dev container running on localhost.
Create your events and make sure they will appeal to everybody.
Privacy settings and participants roles are supported.
There's no lock-in, you can interact with the event without registration.
## Learn more
---
* Official website: https://joinmobilizon.org/
* Source: https://framagit.org/framasoft/mobilizon
* Docu wiki: https://framagit.org/framasoft/mobilizon/wikis/home
* Riot/Matrix: https://riot.im/app/#/room/#Mobilizon:matrix.org
* Mastodon: https://framapiaf.org/@mobilizon
* Forum: https://framacolibri.org/c/mobilizon/fr-francais
## Contributing
We appreciate any contribution to MobiliZon. Check our [CONTRIBUTING](CONTRIBUTING.md) file for more information.
## Links
### Learn more
* 🌐 Official website: [https://joinmobilizon.org](https://joinmobilizon.org)
* 💻 Source: [https://framagit.org/framasoft/mobilizon](https://framagit.org/framasoft/mobilizon)
* 📝 Wiki: [https://framagit.org/framasoft/mobilizon/wikis/home](https://framagit.org/framasoft/mobilizon/wikis/home)
### Discuss
* 💬 Riot/Matrix: [https://riot.im/app/#/room/#Mobilizon:matrix.org](https://riot.im/app/#/room/#Mobilizon:matrix.org)
* 🗣️ Forum: [https://framacolibri.org/c/mobilizon](https://framacolibri.org/c/mobilizon)
### Follow
* 🐘 Mastodon: [https://framapiaf.org/@mobilizon](https://framapiaf.org/@mobilizon)
* 🐦 Twitter [https://twitter.com/@joinmobilizon](https://twitter.com/@joinmobilizon)
Note: Most federation code comes from [Pleroma](https://pleroma.social), which is `Copyright © 2017-2018 Pleroma Authors - AGPL-3.0`