Skip to content

Latest commit

 

History

History
54 lines (30 loc) · 2.68 KB

File metadata and controls

54 lines (30 loc) · 2.68 KB

Contributing to Ethopedia

Want to contribute to the project? This document outlines how to do it.

Which repository should I contribute to?

Ethopedia has two main repositories:

  1. The site
  2. The graphql api (The one you're in right now)

If you are interested in contributing to the site, you can follow the contributing guidelines in that repository.

If you are interested in contributing to the api, read on.

Table of Contents

  1. How to contribute
  2. Style guide
  3. Setting up your environment

How to contribute

If you'd like to contribute, start by searching through the issues and pull requests to see whether someone else has raised a similar idea or question.

If you don't see your idea listed, and you think it fits into the goals of this project, do one of the following:

  • If your contribution is minor, such as a typo fix, open a pull request.
  • If your contribution is major, such as an adding a new endpoint or modifying existing behavior, start by opening an issue first. That way, other people can weigh in on the discussion before you do any work.

Please create a new branch for each feature you are adding.

Style guide

This project uses Kotlin. Please try to adhere to the Kotlin coding conventions outlined here.

The Guice library is used to manage dependencies. Please try to take advantage of it where appropriate.

While writing clean code is important, it's better to have messy code that works than nothing! So don't stress too much over it :)

Setting up your environment

The api is written in kotlin, so you'll need Java to be installed on your machine. It is recommended to use IntelliJ IDEA since you can take advantage of the predefined run/build configurations.

Once you have that set up, you are ready to run the api.

If you are developing a new endpoint that doesn't require the database then select the RunNoDatabase run configuration and click Run:

RunNoDatabase Configuration

Note: The RunNoDatabase configuration is a temporary workaround for not having a good way to interface with a local database instance!

The api should now be running at http://localhost:7250. The graphql endpoint is at http://localhost:7250/graphql.