{"id":16191272,"url":"https://github.com/amirfefer/gce-golang-edu","last_synced_at":"2025-09-14T16:08:29.307Z","repository":{"id":93411932,"uuid":"481347994","full_name":"amirfefer/gce-golang-edu","owner":"amirfefer","description":"Educational project for google compute API and Golang","archived":false,"fork":false,"pushed_at":"2022-06-15T16:30:50.000Z","size":67,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-07T14:46:50.512Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amirfefer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-13T19:25:50.000Z","updated_at":"2022-04-25T12:19:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"de70875d-062a-4c21-b217-8991decb5b02","html_url":"https://github.com/amirfefer/gce-golang-edu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amirfefer/gce-golang-edu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirfefer%2Fgce-golang-edu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirfefer%2Fgce-golang-edu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirfefer%2Fgce-golang-edu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirfefer%2Fgce-golang-edu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amirfefer","download_url":"https://codeload.github.com/amirfefer/gce-golang-edu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirfefer%2Fgce-golang-edu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265402833,"owners_count":23759237,"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":[],"created_at":"2024-10-10T07:45:37.371Z","updated_at":"2025-07-15T04:37:21.344Z","avatar_url":"https://github.com/amirfefer.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Google cloud compute with golang\n\n**_This project was created for self education purpose_**\nThis project communicates with google cloud API.\nCreate multiple `computes` objects, each one reflects a specifc zone in GCE.\nYou can view the instances list, turn off or on your instances and more.\n\n## ⚡️ How to run\n\n1. Clone\n2. Rename `.env.example` to `.env` and fill it with your environment values.\n3. Install [Docker](https://www.docker.com/get-started) and the following useful Go tools to your system:\n\n   - [golang-migrate/migrate](https://github.com/golang-migrate/migrate#cli-usage) for apply migrations\n\n4. Run project by this command:\n\n```bash\nmake docker.run\n```\n\nor run manually by\n```bash\n go run main.go\n```\n5. Under `client_api` you will find examples for creating API calls\n\n## 📦 Used packages\n\n| Name                                                                  | Version    | Type       |\n| --------------------------------------------------------------------- | ---------- | ---------- |\n| [gofiber/fiber](https://github.com/gofiber/fiber)                     | `v2.25.0`  | core       |\n| [google-cloud-go](https://github.com/googleapis/google-cloud-go)      | `v2.25.0`  | core       |\n| [Create Go App CLI](https://github.com/create-go-app/cli)             | `v2.25.0`  | template   |\n| [gofiber/jwt](https://github.com/gofiber/jwt)                         | `v2.2.7`   | middleware |\n| [arsmn/fiber-swagger](https://github.com/arsmn/fiber-swagger)         | `v2.24.0`  | middleware |\n| [stretchr/testify](https://github.com/stretchr/testify)               | `v1.7.0`   | tests      |\n| [golang-jwt/jwt](https://github.com/golang-jwt/jwt)                   | `v4.2.0`   | auth       |\n| [joho/godotenv](https://github.com/joho/godotenv)                     | `v1.4.0`   | config     |\n| [jmoiron/sqlx](https://github.com/jmoiron/sqlx)                       | `v1.3.4`   | database   |\n| [jackc/pgx](https://github.com/jackc/pgx)                             | `v4.14.1`  | database   |\n| [go-redis/redis](https://github.com/go-redis/redis)                   | `v8.11.4`  | cache      |\n| [swaggo/swag](https://github.com/swaggo/swag)                         | `v1.7.8`   | utils      |\n| [google/uuid](https://github.com/google/uuid)                         | `v1.3.0`   | utils      |\n| [go-playground/validator](https://github.com/go-playground/validator) | `v10.10.0` | utils      |\n\n## 🗄 File structure\nCreated by [Create Go App CLI](https://github.com/create-go-app/cli)\n### ./app\n\n- `./app/controllers` folder for functional controllers (used in routes)\n- `./app/models` folder for describe business models and methods of your project\n- `./app/queries` folder for describe queries for models of your project\n\n- `./pkg/configs` folder for configuration functions\n- `./pkg/middleware` folder for add middleware (Fiber built-in and yours)\n- `./pkg/repository` folder for describe `const` of your project\n- `./pkg/routes` folder for describe routes of your project\n- `./pkg/utils` folder with utility functions (server starter, error checker, etc)\n\n### ./platform\n\n**Folder with platform-level logic**. This directory contains all the platform-level logic that will build up the actual project, like _setting up the database_ or _cache server instance_ and _storing migrations_.\n\n- `./platform/cache` folder with in-memory cache setup functions (by default, Redis)\n- `./platform/database` folder with database setup functions (by default, PostgreSQL)\n- `./platform/migrations` folder with migration files (used with [golang-migrate/migrate](https://github.com/golang-migrate/migrate) tool)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirfefer%2Fgce-golang-edu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famirfefer%2Fgce-golang-edu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirfefer%2Fgce-golang-edu/lists"}