{"id":25016725,"url":"https://github.com/meedeley/meedeley_go","last_synced_at":"2025-03-30T07:43:23.032Z","repository":{"id":271145908,"uuid":"912521052","full_name":"meedeley/meedeley_go","owner":"meedeley","description":"the project common starter for begginer golang","archived":false,"fork":false,"pushed_at":"2025-02-24T04:32:29.000Z","size":119110,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T05:28:41.372Z","etag":null,"topics":["fiber","go","golang","postgresql","software","starter-kit"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meedeley.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-01-05T19:56:53.000Z","updated_at":"2025-02-24T04:32:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"dc1a9866-be63-419b-a5af-0cde1d4d597c","html_url":"https://github.com/meedeley/meedeley_go","commit_stats":null,"previous_names":["meedeley/meedeley_go"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meedeley%2Fmeedeley_go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meedeley%2Fmeedeley_go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meedeley%2Fmeedeley_go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meedeley%2Fmeedeley_go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meedeley","download_url":"https://codeload.github.com/meedeley/meedeley_go/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246290579,"owners_count":20753724,"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":["fiber","go","golang","postgresql","software","starter-kit"],"created_at":"2025-02-05T09:54:12.202Z","updated_at":"2025-03-30T07:43:23.006Z","avatar_url":"https://github.com/meedeley.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go Code StarterPack\n\n## Copyright\nFor any open source project, there must be a LICENSE file in the repository root to claim the rights.\n\nHere are two examples of using Apache License, Version 2.0 and MIT License.\n\n### Apache License, Version 2.0\nThis license requires to put following content at the beginning of every file:\n```\n// Copyright [yyyy] [name of copyright owner]\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\"): you may\n// not use this file except in compliance with the License. You may obtain\n// a copy of the License at\n//\n//     http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n// License for the specific language governing permissions and limitations\n// under the License.\n```\nReplace [yyyy] with the creation year of the file. Then use personal name for personal projects, or organization name for team projects to replace [name of copyright owner].\n### MIT License\nThis license requires to put following content at the beginning of every file:\n```\n// Copyright [yyyy] [name of copyright owner]. All rights reserved.\n// Use of this source code is governed by a MIT-style\n// license that can be found in the LICENSE file.\n```\nReplace [yyyy] with the creation year of the file.\n### Other Note\n- Other types of license can follow the template of above two examples.\n\n- If a file has been modified by different individuals and/or organizations, and multiple licenses are compatiable, then change the first line to multiple lines and sort them in the order of time:\n## Project structure\n```\nbin/        # The directory for compiled binaries or executables\ncmd/        # Contains the main applications for the project\ndb/         # Database migrations, seeds, or configurations\ndocs/       # Documentation files for the project\ninternal/   # Private application code\npkg/        # Code that's safe to be shared between different parts of the project\nstorage/    # Directory for file storage or static assets\ntests/      # Test files and test utilities\n```\n### Additional directories and files:\n- `.air.toml`: Configuration file for live-reloading with `air`.\n- `.env`: Environment variables for the project.\n- `.env-example`: A sample file to guide the creation of `.env`.\n- `.gitignore`: Specifies files and directories to ignore in Git.\n- `go.mod`: Go module dependencies file.\n- `go.sum`: Checksums for module dependencies.\n- `main`: Entry point of the application.\n- `Makefile`: Contains common commands to build or manage the project.\n- `README.md`: Project documentation and guidance.\n\n## Requirement Before You Run This Starter\n| Package Name |  IsNeeded  |\n|:-----|:--------:|\n| Golang \u003e= v1.16   | ✅ |\n| PostgreSQL  |  ✅  |\n| Golang Migrate   | ✅ |\n| Makefile   | ✅ |\n| Air Hot Reload🔥   | ✅ | \n\n## Instalation\nClone this repository correctly\n```\ngit clone http://github.com/meedeley/meedeley_code.git\n```\n🔥🔥🔥\n```\ncd meedeley_code\ngo mod tidy\n```\n💧 and voilla...\n```\nmake run //or if u want run manually\ngo run cmd/app/main.go\n```\n## Makefile documentation\nThis Makefile provides a set of commands to build, run, and manage the application, as well as handle database migrations. Below is a detailed explanation of each section and command.\n\n#### Application Settings\n- BINARY_NAME:      # Name of the application binary (default: app).\n- BINARY_DIR:       # Directory where the binary file will be generated (default: bin).\n- MAIN_FILE:        # Path to the main Go application file (default: cmd/app/main.go).\n\n#### Database Settings\n- MIGRATIONS_DIR:   # Directory for database migration files (default: db/migrations).\n- DB_USER:          # Database username (default: postgres).\n- DB_PASSWORD:      # Database password (default: postgres).\n- DB_HOST:          # Database host (default: localhost).\n- DB_PORT:          # Database port (default: 5432).\n- DB_NAME:          # Database name (default: meedeley).\n- DATABASE_URL:     # Full PostgreSQL connection URL.\n\n#### Build Commands\n\n```\nmake build\n```\nBuilds the application binary and places it in the specified BINARY_DIR.\n```\nmake build\n```\nRemoves all build files from the BINARY_DIR.\nmake clean\n\n##### Migration Commands\nCreates a new migration file in the MIGRATIONS_DIR. Requires a name argument.\n```\nmake migration name=\u003cmigration_name\u003e\n```\nRuns all pending migrations.\n```\nmake migrate-up\n```\nRuns the next pending migration.\n```\nmake migrate-up-one\n```\nRolls back the last migration.\n```\nmake migrate-down\n```\nRolls back all migrations.\n```\nmake migrate-down-all\n```\nForces the migration version to a specific value. Requires a version argument.\n```\nmake migrate-force version=\u003cversion_number\u003e\n```\nDisplays the current migration version in the database.\n```\nmake migrate-version\n```\n###### Helper Command\nTests the database connection using the configured DATABASE_URL.\n````\nmake db-test\n````\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeedeley%2Fmeedeley_go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeedeley%2Fmeedeley_go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeedeley%2Fmeedeley_go/lists"}