{"id":13614291,"url":"https://github.com/sonyarianto/imaginative-go","last_synced_at":"2025-04-13T18:32:47.515Z","repository":{"id":45519537,"uuid":"155538658","full_name":"sonyarianto/imaginative-go","owner":"sonyarianto","description":"Status: Work in Progress - A beautiful open source 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!","archived":true,"fork":false,"pushed_at":"2019-12-04T15:21:38.000Z","size":3052,"stargazers_count":5,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-02T20:46:11.460Z","etag":null,"topics":["code-samples","docker","docker-compose","dockerfile","easy-to-use","go","go-by-example","golang","learning-by-doing","learning-golang","web-app"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sonyarianto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":["https://paypal.me/sonyarianto"]}},"created_at":"2018-10-31T10:25:46.000Z","updated_at":"2023-08-23T11:44:58.000Z","dependencies_parsed_at":"2022-07-19T14:42:05.793Z","dependency_job_id":null,"html_url":"https://github.com/sonyarianto/imaginative-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonyarianto%2Fimaginative-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonyarianto%2Fimaginative-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonyarianto%2Fimaginative-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sonyarianto%2Fimaginative-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sonyarianto","download_url":"https://codeload.github.com/sonyarianto/imaginative-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223600210,"owners_count":17171607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-samples","docker","docker-compose","dockerfile","easy-to-use","go","go-by-example","golang","learning-by-doing","learning-golang","web-app"],"created_at":"2024-08-01T20:00:59.465Z","updated_at":"2024-11-07T22:31:06.117Z","avatar_url":"https://github.com/sonyarianto.png","language":"Go","funding_links":["https://paypal.me/sonyarianto"],"categories":["Go"],"sub_categories":[],"readme":"# Imaginative Go\n\n[![Build Status](https://travis-ci.org/sonyarianto/imaginative-go.svg?branch=master)](https://travis-ci.org/sonyarianto/imaginative-go) [![Go Report Card](https://goreportcard.com/badge/github.com/sonyarianto/imaginative-go)](https://goreportcard.com/report/github.com/sonyarianto/imaginative-go) [![Maintainability](https://api.codeclimate.com/v1/badges/e8d5f5483ea4c87df280/maintainability)](https://codeclimate.com/github/sonyarianto/imaginative-go/maintainability) [![GoDoc](https://godoc.org/github.com/sonyarianto/imaginative-go?status.svg)](https://godoc.org/github.com/sonyarianto/imaginative-go) [![Coverage Status](https://coveralls.io/repos/github/sonyarianto/imaginative-go/badge.svg?branch=master)](https://coveralls.io/github/sonyarianto/imaginative-go?branch=master) [![codecov](https://codecov.io/gh/sonyarianto/imaginative-go/branch/master/graph/badge.svg)](https://codecov.io/gh/sonyarianto/imaginative-go) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/5fd90c29bb9745abaab89835a39e4b44)](https://www.codacy.com/app/sonyarianto/imaginative-go?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=sonyarianto/imaginative-go\u0026amp;utm_campaign=Badge_Grade)\n\n## Status\nWork in Progress\n\n## What it is?\n\nA beautiful open source website that created with Go language. 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!\n\nIn 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.\n\n## Why Imaginative Go?\n- Ideas about achieve something with Go language\n- Plenty of working code samples (awwww, currently still not plenty, relaxxx mann, we will add more regularly)\n- Easy to run in your local machine (with Docker)\n- You can contribute\n\n## How to run this web on your local machine?\nYou need Docker to run on local machine. First install Docker and Docker Compose on your local machine.\n\n\u003e **NOTE**\u003cbr\u003e\n\u003e For those who need documentation of Docker installation, please refer to [Docker CE](https://store.docker.com/search?type=edition\u0026offering=community) and [Docker Compose](https://docs.docker.com/compose/install/).\n\n\u003e **NOTE**\u003cbr\u003e\n\u003e `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.\n\n\u003e **NOTE**\u003cbr\u003e\n\u003e 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`.\n\n```\ngit clone https://github.com/sonyarianto/imaginative-go.git\ncd imaginative-go\nsudo docker-compose up -d\n```\n\nAfter that, go to your browser and type\n```\nhttp://localhost:9899\n```\n\n\u003e **Note 1**\u003cbr\u003e\n\u003e 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\n\u003e ```\n\u003e sudo docker-compose down \u0026\u0026 sudo docker volume rm imaginative-go_volume-mongodb-imaginative-go \u0026\u0026 sudo docker-compose pull \u0026\u0026 sudo docker-compose build \u0026\u0026 sudo docker-compose up -d --build --force-recreate\n\u003e ```\n\u003e 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.\n\u003e \n\u003e 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\n\n\u003e **Note 2**\u003cbr\u003e\n\u003e MongoDB expose random port to host machine. You can see it by typing this after all containers are running.\n\u003e ```\n\u003e sudo docker ps -f \"name=mongodb-imaginative-go\"\n\u003e ```\n\u003e Sample output is like below\n\u003e ```\n\u003e CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                                NAMES\n\u003e f0c2c2166487        imaginative-go_mongodb   \"docker-entrypoint.s…\"   About an hour ago   Up About an hour    0.0.0.0:32782-\u003e27017/tcp             mongodb-imaginative-go\n\u003e ```\n\n## Contributors\n- [Sony Arianto Kurniawan](https://github.com/sonyarianto) - sony at sony-ak.com - original author, project maintainer\n- [Prasetyama Hidayat](https://github.com/prasetyama) - prasetyama at gmail.com\n- [Waladi Abdauh](https://github.com/dauhpublic) - waladi.abdauh at gmail.com\n\nDo you want to contribute? Just fork this repository and contribute anything you can (e.g. fix typo, bug fix, add new sample etc.)\n\n## Community/Contributing\nImaginative Go maintains a mailing list, [Imaginative Go][imaginative-go], where you should feel\nwelcome to ask questions about the project (no matter how simple!) or to talk about Imaginative Go more\ngenerally. Imaginative Go's author (Sony Arianto Kurniawan) also loves to hear from users directly\nat his personal email address, which is available on his GitHub profile page.\n\nContributions to Imaginative Go are welcome.\n\nAll interactions in the Imaginative Go community will be held to the high standard of the\nbroader Go community's [Code of Conduct][conduct].\n\n[imaginative-go]: https://groups.google.com/forum/#!forum/imaginative-go\n[conduct]: https://golang.org/conduct\n\n## License\nThis project is licensed under the MIT License.\n\nLicense can be found [here](https://github.com/sonyarianto/imaginative-go/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonyarianto%2Fimaginative-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsonyarianto%2Fimaginative-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsonyarianto%2Fimaginative-go/lists"}