{"id":13753429,"url":"https://github.com/krystianity/elixir-ms","last_synced_at":"2025-03-21T20:32:14.156Z","repository":{"id":41190302,"uuid":"85076071","full_name":"krystianity/elixir-ms","owner":"krystianity","description":"an elixir microservice base/skeleton :skull:","archived":false,"fork":false,"pushed_at":"2019-03-31T10:52:12.000Z","size":59,"stargazers_count":42,"open_issues_count":0,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-01T09:33:47.921Z","etag":null,"topics":["base","container","docker","elixir","erlang","micro","microservice","service"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krystianity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-15T13:34:03.000Z","updated_at":"2025-01-08T08:12:05.000Z","dependencies_parsed_at":"2022-09-12T07:51:19.112Z","dependency_job_id":null,"html_url":"https://github.com/krystianity/elixir-ms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krystianity%2Felixir-ms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krystianity%2Felixir-ms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krystianity%2Felixir-ms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krystianity%2Felixir-ms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krystianity","download_url":"https://codeload.github.com/krystianity/elixir-ms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244159973,"owners_count":20408017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["base","container","docker","elixir","erlang","micro","microservice","service"],"created_at":"2024-08-03T09:01:21.990Z","updated_at":"2025-03-21T20:32:13.763Z","avatar_url":"https://github.com/krystianity.png","language":"Elixir","readme":"![Elixir-Logo](http://elixir-lang.org/images/logo/logo.png)\n\n# elixir-ms\n- elixir microservice base :ant::zap:\n- microservice skeleton from scratch aka \"You dont need Phoenix\"\n\n[![Build Status](https://travis-ci.org/krystianity/elixir-ms.svg?branch=master)](https://travis-ci.org/krystianity/elixir-ms)\n\n## Ingredients :star:\n- `credo` for linting\n- `dialyxir` static analysis\n- strong `http server` basis using plug + cowboy\n- fast `json` encode/decode using poison\n- `http client` using httpoison\n- `metrics` using prometheus_ex\n- `healthchecks + config` setup using mix tools\n- (json) `access log` provided as Plug\n- ELK compliant `logger` with simple API\n- registry (in-memory cache) with simple API\n- `redis client` using redix (pub-sub)\n- `JIT Config` via weave\n- `RDBMS ORM` via ecto and postgrex\n- start-up banner\n- MIT License\n\n## Requirements\n- Erlang/OTP \u003e= 21\n- Elixir \u003e= 1.8.1\n\n## Installation\n- install Erlang\n- install Elixir\n- install Mix\n- http://elixir-lang.org/install.html#unix-and-unix-like // on mac simply `brew install elixir`\n- `git clone git@github.com:krystianity/elixir-ms.git`\n- run `mix deps.get` or `./tools/get-dependencies.sh`\n- start via `mix start`\n- (if you want to run this as is, you need a local postgres (see Other below) and\na redis, otherwise you have to make adjustments to lib/demo.ex and mix.exs)\n\n## Use as docker container via docker-compose\nbuild + run via `docker-compose up --build`\n\n## Testing\nrun `mix test`\n\n## License\nMIT\n\n## Other\n\n### Database Setup\n- (requires a local postgres, with a user named \"postgres\" and a password \"postgres\"\ncheckout config/config.exs to change these credentials\n- `mix ecto.create`\n- `mix ecto.migrate`\n\n### Other Database Stuff\n- `mix ecto.gen.migration add_test_table -r ExTest.Repos.Test`\n- `mix ecto.rollback`\n- `docker run -it --rm --link postgres:postgres postgres:9.3 psql -h postgres -U postgres ex_test`\n","funding_links":[],"categories":["service"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrystianity%2Felixir-ms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrystianity%2Felixir-ms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrystianity%2Felixir-ms/lists"}