Hades is an open-source mentorship platform built with Elixir.
We are building Hades as a open source platform for mentorships.
We believe in the power of mentors - having mentors but also being mentors.
We searched around and didn't find any free or open source solution that would fit this bill in a nice, clean and easy to use manner, so we decided to build one.
We invite you to join and leave your contribution as well.
This project is hosting the Elixir backend, you should also check out the frontend at:
To start contributing you should:
- Read our Code of Conduct
- Have a look at our issues
- Comment that you wanna work on one of them
- Submit a PR
- Check feedback on the PR and adjust if needed
We would very much appreciate your help! :)
To start Hades:
- Install dependencies
- Add required local environment variables
GUARDIAN_SECRET_KEY=G3RuCsdApqCOY8gWck97oWoj4m2aT87bblDRwEAsO4hJFHyiG9oKvN9OZcM/VkxM
SECRET_KEY_BASE=zA1N9iIAglu8XZHfk+ZXTcGedeeMuuaMOqB/h0EGcq7AkroSHoaqfYdet9kjOTcx
Doesn't have to be these values, you can use
mix phx.gen.secret
to generate new ones if you want
- Install dependencies with
mix deps.get
- Create your database with
mix ecto.create
- Migrate the database with
mix ecto.migrate
- Start Phoenix endpoint with
mix phx.server
Open your browser at localhost:4000/api/hello
- To run tests use
mix test
We are using Nanobox to facilitate development and deployment. You can check out more about nanobox at https://nanobox.io/
It's a docker-based service which facilitates deployment in several VPS providers such as AWS, Digital Ocean, Scaleway and many more.
Another cool feature is that it replicates the production environment locally.
You can find instructions for using Nanobox below.
To start Hades with nanobox:
- Install nanobox
- Add required local environment variables
nanobox evar add local GUARDIAN_SECRET_KEY=G3RuCsdApqCOY8gWck97oWoj4m2aT87bblDRwEAsO4hJFHyiG9oKvN9OZcM/VkxM SECRET_KEY_BASE=zA1N9iIAglu8XZHfk+ZXTcGedeeMuuaMOqB/h0EGcq7AkroSHoaqfYdet9kjOTcx
Doesn't have to be these values, you can use
mix phx.gen.secret
to generate new ones if you want
- Install dependencies with
nanobox run mix deps.get
- Create your database with
nanobox run mix ecto.create
- Migrate the database with
nanobox run mix ecto.migrate
- Start Phoenix endpoint with
nanobox run mix phx.server
You should get a message like:
If you run a server, access it at >> 172.21.0.3
Then you can access the hello world endpoint at whatever ip shows up there in port 4000, /hello.
In this example, open your browser and type 172.21.0.3:4000/api/hello
Alternatively, you can run nanobox run
to get into the container, and then perform the other commands directly (except the nanobox evar add local
, that one needs to be run from outside the container machine).
- To run tests use
nanobox run mix test