GithubHelp home page GithubHelp logo

hades's Introduction

Hades

Build Status codecov Ebert Join the chat at https://gitter.im/ex-hades/Lobby

Hades is an open-source mentorship platform built with Elixir.

What is Hades

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:

Contributing

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! :)

Starting Hades server

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

Running Tests

  • To run tests use mix test

Nanobox

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.

Starting Hades server with Nanobox

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).

Running Tests with Nanobox

  • To run tests use nanobox run mix test

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.