Just a simple website to share technology knowledge. Live demo is available at: https://goway.herokuapp.com
This project follows golang-standards/project-layout and hence can be used as a reference for new Go developers.
Note that this project now is no longer in active development, but feel free to make pull request.
Make sure you have the development environment matches with these notes below so we can mitigate any problems of version mismatch.
Backend:
$GOROOT
and $GOPATH
correctly.
You can check those environment variable by typing: go env
.Frontend:
yarn
instead of npm
.Commons:
Goland
or VS Code
.$ go get -u -v github.com/pthethanh/robusta
or
$ cd $GOPATH/src
$ git clone https://github.com/pthethanh/robusta.git
After this step, source code must be available at $GOPATH/src/github.com/pthethanh/robusta
.
You can use Docker to start all services at once. This will support auto reload for both frontend and backend
$ cd /web && yarn install && cd ../
$ make compose_dev
After started, services will be available at localhost
with ports as below:
MongoDB: 27017
Backend: 8080
Frontend: 8081
Google doesn't support OAuth with localhost or any domain with port, but our server is running on 8080, hence we need to create a local domain named mylocalhost.com
and make sure all requests to that domain is forwarded to the server that is running at port 8080
Following steps need to be done:
1. Update iptables
sudo iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 8080
2. Update /etc/hosts
127.0.0.1 mylocalhost.com
3. Update Google OAuth2 configurations
Make sure mylocalhost.com
is updated in Google Console
Add http://mylocalhost.com/auth/google/callback
into the Authorized redirect URIs
of Google Console API
make size
For more detail, see size-limit on github
go fmt
, go vet
, go test
, and go build / go install
before pushing your code to Github.
Or you can just run make
before pushing.master
or develop
branches (you don't have permission to do so, anyway). Instead, checkout from develop
branch to a separated branch then work on that.develop
.master
branch will be reserved when administrator decide to release a stable version of application.Color: https://www.colourlovers.com/palette/173625/Browser_wars
Need update