Trainscoding is a monorepo project that wants to demostrate how an automated approach would work for a microservices Javascript based application.
This project is the MSc Thesis for Master CloudApps 2020 by Universidad Rey Juan Carlos of Madrid. The current setup exposes a simple distributed architecture with multiple services that get deployed automatically to the cloud. The goal of this project emphasizes in the development side of working with monorepos and its continuous integration, delivery and deployment of all the services and libraries that compose the application.
Trainscoding consists of two libraries that are used to manage code's quality in the whole code base, and two services that are taken as example of how to deal with automation on a monorepo scenario and a distributed landscape.
- Docker and Docker-Compose
- Environment variables (check file template)
$ make create-env
Once the new environment files are created,** you need to fill** in the values for the variables that these files contain.
$ make up
Runs all services available in Trainscoding using Docker Compose and a local instance of Traefik Proxy.
Server endpoint example
Go to: localhost/api/hi
to get a hello world message.
Users endpoint example
Go to: localhost/users/login
to get a hello world message.
It will spin up all services that are involved in Trainscoding, such as:
- Trainscoding Server
- Traincoding Users