2019-02-26 16:02:39 +00:00
# fediverse.space 🌐
2019-07-18 15:20:09 +00:00
2019-02-20 17:05:25 +00:00
The map of the fediverse that you always wanted.
2019-02-20 16:49:45 +00:00
2019-07-18 15:20:09 +00:00
Read the latest updates on Mastodon: [@fediversespace ](https://cursed.technology/@fediversespace )
2019-02-22 15:56:47 +00:00

2019-07-19 18:19:53 +00:00
1. [Requirements ](#requirements )
2. [Running it ](#running-it )
3. [Commands ](#commands )
4. [Privacy ](#privacy )
5. [Acknowledgements ](#acknowledgements )
2019-02-20 16:49:45 +00:00
## Requirements
2019-07-18 15:20:09 +00:00
2019-07-19 18:19:53 +00:00
Though dockerized, backend development is easiest if you have the following installed.
2019-02-20 16:49:45 +00:00
- For the scraper + API:
2019-07-17 22:07:05 +00:00
- Elixir
- Postgres
2019-02-20 16:49:45 +00:00
- For laying out the graph:
- Java
- For the frontend:
2019-07-17 22:07:05 +00:00
- Node.js
2019-02-20 16:49:45 +00:00
- Yarn
2018-08-27 00:31:53 +02:00
## Running it
2019-07-18 15:20:09 +00:00
2019-02-20 16:49:45 +00:00
### Backend
2019-07-18 15:20:09 +00:00
2019-02-20 16:49:45 +00:00
- `cp example.env .env` and modify environment variables as required
- `docker-compose build`
2019-07-17 22:07:05 +00:00
- `docker-compose up -d phoenix`
- if you don't specify `phoenix` , it'll also start `gephi` which should only be run as a regular one-off job
2019-07-18 15:20:09 +00:00
2019-02-20 16:49:45 +00:00
### Frontend
2019-07-18 15:20:09 +00:00
2019-02-20 16:49:45 +00:00
- `cd frontend && yarn install`
- `yarn start`
## Commands
2019-07-18 15:20:09 +00:00
2019-02-20 16:49:45 +00:00
### Backend
2019-02-20 17:29:02 +00:00
2019-07-19 18:19:53 +00:00
`./gradlew shadowJar` compiles the graph layout program. `java -Xmx1g -jar build/libs/graphBuilder.jar` runs it.
If running in docker, this means you run
2019-07-18 15:20:09 +00:00
2019-07-19 18:19:53 +00:00
- `docker-compose build gephi`
2019-02-21 12:32:50 +00:00
- `docker-compose run gephi java -Xmx1g -jar build/libs/graphBuilder.jar` lays out the graph
2019-02-20 16:49:45 +00:00
### Frontend
2019-07-18 15:20:09 +00:00
2019-07-19 18:19:53 +00:00
- `yarn build` creates an optimized build for deployment
## Privacy
This project doesn't crawl personal instances: the goal is to understand communities, not individuals. The threshold for what makes an instance "personal" is defined in the [backend config ](backend/config/config.exs ) and the [graph builder SQL ](gephi/src/main/java/space/fediverse/graph/GraphBuilder.java ).
2018-09-01 15:32:04 +02:00
2019-07-19 18:19:53 +00:00
## Acknowledgements
2019-07-17 22:03:30 +00:00
[](https://nlnet.nl/project/fediverse_space/)
2019-07-18 15:20:09 +00:00
Many thanks to [NLnet ](https://nlnet.nl/project/fediverse_space/ ) for their support and guidance of this project.