Skip to content

Foacs/website-backend-meta

Repository files navigation

Meta repository for Foacs website backend

Description

This is the meta repository for the Foacs website backend services. It helps to organized multi-repo backend as a mono-repo.

How to use this repo ?

This repo is the parent repo of all sub-repos. It is used by meta to aggregate all of them together.

You can perform git command across all sub-repos from this one.

In order to use meta, you should install it:

$~ > npm i -g meta

Getting started

The following comment helps you to clone all "Foacs backend" repos in one go:

$~ > meta git clone https://github.com/Foacs/website-backend-meta

Then you can perform the npm install across all repos:

$~/backend-meta/ > meta exec "npm i"

You can build all the services by using:

$~/backend-meta/ > meta exec "npm run build"

Tips

  • You can perform any git command across all sub-repos by adding meta in front of the git command

$~/backend-meta/ > meta git status
$~/backend-meta/ > meta git fetch
$~/backend-meta/ > meta git push
$~/backend-meta/ > meta git pull
  • You can execute any command across all sub-repos with meta exec command

$~/backend-meta/ > meta exec "ls -la"

Project file structure

The project’s files are organized as follow:

Infrastructure templates

The template files for infrastructure definition are kept in folder infrastructure and its sub-folders.

REST endpoint methods

The source code for REST endpoints are kept in folder src and then a folder for each methods.

Environment & pipelines

It exists 4 environments each corresponding to a step of backend development.

This environment is used during the development of the backend, it is not designed to be stable. Its usage should be strictly reserved for development.

This environment is used during the testing of the backend, it is not designed to be stable. Its usage should be strictly reserved for testing.

This environment is used as a copy of production. It is designed to be stable but it allows downtime.

  • It is deployed with the pipeline: deploy staging

    • The deployment requires a approval

This environment is the production. It is designed to be stable but it does not allow downtime.

  • It is deployed with the pipeline: deploy production

    • The deployment requires a approval

    • The deployment waits 15 minutes before it starts

What are the sub-repo

The sub-repos, for Foacs website backend, are: