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 up
To 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 serve
To access Frontend application Open browser with following URL: http://localhost:4200