This project is to develop a fully functional job site with a modern tech stack for learning and sharing purposes.
| Tech/Lib | Purpose |
|---|---|
| GoLang + Gorilla/Mux | To serve a fast restiful api with low memory consumption |
| NodeJs Apollo Server | To wrap the restiful api in a GraphQL implementation |
| Angular 7 + Apollo Client | To build a modern UI and query the GraphQL server |
| Docker | To package all parts of the app in separate containers |
Install Docker
Open a terminal and run the following commands
$ cd JobSite
$ docker-compose upTo access Apollo Playground and write QraphQL queries Open browser with following URL: http://localhost:4000
- Note: Rest API is available at http://localhost:8000 and swagger is available at http://localhost:8000/swaggerui/#/
Each of the component images can be retrieved with the following commands:
| Component | Latest Image Command |
|---|---|
| GoLang Rest Api | docker pull scarlin90/go-restapi:latest |
| Apollo GraphQL Server | docker pull scarlin90/node-graphql-server:latest |
Open another terminal
Run the following commands
$ cd job-site
$ npm install
$ ng serveTo access Frontend application Open browser with following URL: http://localhost:4200