Giter VIP home page Giter VIP logo

dauhpublic / imaginative-go Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sonyarianto/imaginative-go

0.0 0.0 0.0 2.93 MB

Imaginative Go is a website that created with Go lang. It contains many go lang working samples that for web and non-web application. It demonstrate what Go lang can achieve. You can contribute!

Home Page: https://imaginative-go.xyz

License: MIT License

Dockerfile 0.21% JavaScript 22.40% Go 3.61% HTML 1.81% CSS 71.97%

imaginative-go's Introduction

Imaginative Go

Build Status Go Report Card Maintainability

A beautiful website that created with Go. It contains many Go working samples code that useful for web and non-web application. It mainly demonstrate what Go can achieve. You can contribute!

In this imaginative (but real) project, we implement our knowledge during learning Go and we want to share with the community. We don't use any Go framework and forgive us if the code still not efficient or optimal, since we are still learning too in Go language. Any suggestions are welcomed.

Why Imaginative Go?

  • Ideas about achieve something with Go language
  • Plenty of working code samples (awwww, currently still not plenty, relaxxx mann, we will add more regularly)
  • Easy to run in your local machine (with Docker)
  • You can contribute

Requirements (Optional)

  • Go 1.11.x or later
  • Docker Engine (version 18.09.x or later)
  • Docker Compose (version 1.23.x or later)

Docker is useful if you want to run this website with all its content on your local machine.

For those who need documentation of Docker installation, please refer to Docker CE and Docker Compose.

NOTE: sudo used throughout this doc, since mainly we use Linux/MacOS during the development. We test running on Windows 10 as well with Docker for Windows and Docker Toolbox.

NOTE: For user that using Windows 10 Home that run with Docker Toolbox, I think you should modify IP on docker-compose.yml from 127.0.0.1 to your Docker Machine IP. Docker Machine IP can be known by typing docker-machine ip.

Usage

Linux/MacOS/Windows

git clone https://github.com/sonyarianto/imaginative-go.git
cd imaginative-go
sudo docker-compose up -d

After that, go to your browser and type

http://localhost:9899

Note 1

To clean containers (stop and remove), remove volume, clean network (remove), pull, build (with no cache) and bring up all containers you can type like below

sudo docker-compose down && sudo docker volume rm imaginative-go_volume-mongodb-imaginative-go && sudo docker-compose pull && sudo docker-compose build && sudo docker-compose up -d --build --force-recreate

Above command will make sure you will create and run fresh all containers needed to run Imaginative Go web project. This is usualy useful after you are doing git pull on Imaginative Go repository.

Above command will error if volume imaginative-go_volume-mongodb-imaginative-go doesn't exists. You can remove the delete volume part if you encounter that error

Note 2

MongoDB expose random port to host machine. You can see it by typing this after all containers are running.

sudo docker ps -f "name=mongodb-imaginative-go"

Sample output is like below

CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                                NAMES
f0c2c2166487        imaginative-go_mongodb   "docker-entrypoint.sā€¦"   About an hour ago   Up About an hour    0.0.0.0:32782->27017/tcp             mongodb-imaginative-go

Docker Images Used

  • mongodb:latest (see docker-compose.yml for default credential, port exposed to host is using random port, see on docker ps command)

Contributors

Do you want to contribute? Just fork this repository and contribute anything you can (e.g. fix typo, bug fix, add new sample etc.)

Community/Contributing

Imaginative Go maintains a mailing list, Imaginative Go, where you should feel welcome to ask questions about the project (no matter how simple!) or to talk about Imaginative Go more generally. Imaginative Go's author (Sony Arianto Kurniawan) also loves to hear from users directly at his personal email address, which is available on his GitHub profile page.

Contributions to Imaginative Go are welcome.

All interactions in the Imaginative Go community will be held to the high standard of the broader Go community's Code of Conduct.

License

This project is licensed under the MIT License.

License can be found here.

imaginative-go's People

Contributors

dauhpublic avatar prasetyama avatar sonyarianto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    šŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. šŸ“ŠšŸ“ˆšŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ā¤ļø Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.