View on GitHub

Welcome to the MES Github

This is the home of the MES code repository, where we host all the awesome tools for the Mind’s Eye Society.

Confused about what all this is for? Check out our homepage for more information about our organization as a whole!

Overview

The goal of our system is to have many lightweight language-agnostic services. The desire is to get people interested in writing in what they feel the most comfortable with, as we’re a volunteer organization.

Technically, we’re using a set of microservices hosted in Docker containers. Most services are REST APIs, with a single frontend service handling the UX stack. A public facing nginx server handles traffic from the outside world.

Repositories

We have several public repos. A quick overview:

Future Projects

We have a few future projects lined up. If you’re interested in working on one of these, see below.

Contributing

We welcome contributions! If you’re a MES member, please let us know your name and MES # in PRs or issues if you wish to claim prestige.

If you want to claim a project, please contact the NTA, and we can get you sorted. Project leaders are expected to adhere to the rules below, be able to provided regular(ish) updates, and respond to issues and PRs in a timely fashion.

Technologies

We use Docker, and prefer usage of Node.js, PHP, or Python for services. We can accommodate other languages however, as long as they’re widely used and can be supported.

For databases, expect to use MySQL or Postgres. MongoDB or similar systems are not supported right now.

Code Standards

All code needs to follow a code standard, ideally the WordPress Standards. Other standards can be used just fine, as long as it’s documented somewhere, plays well with Github, and is part of the CI testing.

Unit Tests

In order for a service to be considered complete, all endpoints require unit testing of some sort. We use Travis to run unit tests on all PRs. UX does not have this requirement, but it’d be nice!

Documentation

All service endpoints should be documented in Markdown, in a /docs folder in the repo. If your API has Swagger implementation, that is also fine.