guilhermeIO / hash-monorepo

An approach to solving Hash's back-end coding challenge.

Home Page:https://github.com/hashlab/hiring/blob/a67da3c761bbf00ea3d3f5a22144c5e0637d2c1d/challenges/pt-br/back-challenge.md

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

📚 Table of contents

  1. Installation
  2. Testing
  3. File Structure Overview

Installation

The following technologies are required and expected to be already installed on the host system:

Clone the repository:

$ git clone git@github.com:guilhermeIO/hash-monorepo.git

Inside the infrastructure directory, provision the infrastructure:

$ make up

Testing

Inside the infrastructure directory, test all services:

$ make test

To test a specific service, just follow the command pattern make {SERVICE NAME}-test. Example:

$ make products-discount-test

Repository Structure Overview

Services

Each service lives on it's own directory and is prefixed with it's main language (i.e. node-products-discount, php-http-api).

Protocol Buffers

All protocol buffer files reside in the protobufs directory.

Infrastructure

Holds the file that composes the whole infrastructure for the development environment (docker-compose.yaml).

Also, provides a collection of useful commands - located at the file Makefile.

ℹ️ Each service holds it's infrastructure specification under it's own _docker folder.

TODOS

  • Add .env file for Docker and Apps (best practice for sensitive data)
  • Add MingoDB dump, to seed database on setup

About

An approach to solving Hash's back-end coding challenge.

https://github.com/hashlab/hiring/blob/a67da3c761bbf00ea3d3f5a22144c5e0637d2c1d/challenges/pt-br/back-challenge.md

License:Apache License 2.0


Languages

Language:PHP 66.2%Language:JavaScript 31.0%Language:Makefile 1.4%Language:Dockerfile 1.4%