Vamp Music is a set of demo services with a front end and api gateway. It uses Lerna to manage all the packages in the repo and docker-compose to spin up a local dev environment, similar to an eventual Vamp environment.
Requirements:
- Node.js
- Docker and Docker-Compose
- Lerna
npm install --global lerna
lerna bootstrap
lerna run docker:build
docker-compose upNow hit localhost:80
Vamp Music is a simplified but representative example of a service based architecture.
- Clients connect to an API gateway that authenticates and aggregates and proxies services.
- Each service owns their datasource(s) and exposes REST and/or RPC type calls.
----------> Auth
|
Web-client (SPA) --> API Gateway --> Profile
--> Recommended --> Songs*
--> Songs
--> Activity --> Songs*, Profile*, Analytics*
--> Analytics
