Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mbta/concentrate
Concentrate: combine realtime transit files
https://github.com/mbta/concentrate
elixir-lang gtfs gtfs-realtime-data mqtt transit
Last synced: 2 months ago
JSON representation
Concentrate: combine realtime transit files
- Host: GitHub
- URL: https://github.com/mbta/concentrate
- Owner: mbta
- License: mit
- Created: 2017-12-15T16:45:02.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-30T14:09:07.000Z (3 months ago)
- Last Synced: 2024-11-08T17:56:42.291Z (3 months ago)
- Topics: elixir-lang, gtfs, gtfs-realtime-data, mqtt, transit
- Language: Elixir
- Homepage:
- Size: 1.12 MB
- Stars: 26
- Watchers: 23
- Forks: 3
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Concentrate
[![Elixir CI](https://github.com/mbta/concentrate/actions/workflows/elixir.yml/badge.svg)](https://github.com/mbta/concentrate/actions/workflows/elixir.yml)
Concentrate combines realtime transit information from multiple sources into
single output files.## Configuration
Concentrate can either be configured via `config/config.exs` or a JSON environment variable as `CONCENTRATE_JSON`: more details are available in [configuration.md](guides/configuration.md).
## Architecture
See [architecture.md](guides/architecture.md) for the overall architecture of the system.
## Development Setup
```
# after installing asdf from https://github.com/asdf-vm/asdf..
asdf install# get Elixir dependencies
mix deps.get# add pre-commit hook to verify formatting/tests/types
ln -s ../../hooks/pre-commit .git/hooks/pre-commit# make sure everything passes! (slowest to fastest)
mix format --check-formatted
mix credo
mix test
mix dialyzer
```If you run into issues compiling `snabbkaffe`:
``` shell
rm -fr deps/quicer
mix deps.get
mix deps.compile
```## Docker
Concentrate comes with a Dockerfile, allowing you to build an image that can
be run anywhere Docker works. It's a [multi-stage](https://docs.docker.com/engine/userguide/eng-image/multistage-build/) build, so it requires at least Docker 17.05.```
# build
docker build -t concentrate:latest .# run
docker run concentrate:latest
```