Gateway is an example project of an application using various Javascript Frameworks and their utilities.
For the programming TypeScript was used as it is recommended for large scale JavaScript projects due to it's strongly typed and a great advantage for detecting bugs in compilation (transpilation in the case of Typescript) time.
For example purposes the project is configured totally using Docker. Other technologies as Azure Functions requires server configurations not included in the basic deployment. However, explanations of those technologies will be contained in the modules description.
- Docker
- Docker Compose
docker-compose up -d mongodb # So mongo setup finishes before the app try to connect.
docker-compose up -d client
To run the solution in a host environment follow the instructions:
- execute
mongodb
(or rundocker-compose up -d mongodb
) in your host. - go to
/server
location and run:
npm install
npm run build
npm test
- if tests passes then you can proceed to run the service:
npm start
- go to the location
/gatwway-api
and run:
npm install
npm run build
npm start
- go to the location
/client
and run:
npm install
npm start
For testing manually the rest api you shoudl install the Visual Studio Code and its extension Rest Client
Then open the file /serversrc/router/router.rest
in the VSCode.
Modify as you whish.
Open Graphql Playground for testing the grapql api as well as the websocket subscriptions.
- The subscriptions running in docker environment doesnt work. The page must be refreshed in order to watch the changes.