{"id":19430614,"url":"https://github.com/jmrashed/go-starter-kit","last_synced_at":"2026-05-17T08:34:47.350Z","repository":{"id":239759960,"uuid":"800450268","full_name":"jmrashed/go-starter-kit","owner":"jmrashed","description":"The Go Starter Kit is a foundational project for building a portfolio website using Go, structured to promote clean code and scalability. It employs the Gin web framework for routing and Viper for configuration management.","archived":false,"fork":false,"pushed_at":"2024-05-15T12:14:51.000Z","size":37,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-06T10:04:16.328Z","etag":null,"topics":["gin-framework","gin-gonic","go","golang","open-source","portfolio","portfolio-website","starter-kit"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/jmrashed.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":"2024-05-14T11:05:07.000Z","updated_at":"2024-05-21T04:36:38.000Z","dependencies_parsed_at":"2024-05-14T13:46:31.166Z","dependency_job_id":"24110342-1d16-4f1e-851f-843d110bc4cd","html_url":"https://github.com/jmrashed/go-starter-kit","commit_stats":null,"previous_names":["jmrashed/go-starter-kit","mrzstack/go-starter-kit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jmrashed/go-starter-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fgo-starter-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fgo-starter-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fgo-starter-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fgo-starter-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmrashed","download_url":"https://codeload.github.com/jmrashed/go-starter-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmrashed%2Fgo-starter-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33131979,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T06:27:06.342Z","status":"ssl_error","status_checked_at":"2026-05-17T06:26:59.432Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["gin-framework","gin-gonic","go","golang","open-source","portfolio","portfolio-website","starter-kit"],"created_at":"2024-11-10T14:25:48.185Z","updated_at":"2026-05-17T08:34:47.336Z","avatar_url":"https://github.com/jmrashed.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go Starter Kit\n\n## Overview\n\nThis is a starter kit for building a Go-based portfolio website. It uses the [Gin](https://github.com/gin-gonic/gin) web framework and [Viper](https://github.com/spf13/viper) for configuration management. The project is structured to promote clean code and scalability.\n\n## Project Structure\n\n```\ngo-starter-kit/\n├── cmd/\n│   └── myapp/\n│       └── main.go\n├── pkg/\n│   ├── config/\n│   │   └── config.go\n│   ├── logger/\n│   │   └── logger.go\n│   ├── server/\n│   │   └── server.go\n├── templates/\n│   ├── base.html\n│   ├── home.html\n│   ├── about.html\n│   ├── education.html\n│   ├── skills.html\n│   ├── experience.html\n│   ├── contact.html\n├── assets/\n│   ├── css/\n│   │   └── style.css\n│   └── js/\n│       └── script.js\n├── .gitignore\n├── README.md\n├── LICENSE\n├── go.mod\n├── go.sum\n└── config.yaml\n\n```\n\n## Getting Started\n\n### Prerequisites\n\n- [Go](https://golang.org/dl/) (version 1.16 or higher)\n- [Git](https://git-scm.com/)\n\n### Installation\n\n1. **Clone the repository:**\n\n```sh\n    git clone https://github.com/jmrashed/go-starter-kit.git\n    cd go-starter-kit\n```\n\n2. **Install dependencies:**\n\n```sh\n    go mod tidy\n```\n\n### Configuration\n\nEnsure you have a `config.yaml` file in the root directory of the project with the following content:\n\n```yaml\nserver_address: \":8080\"\n```\n\n### Running the Application\n\nNavigate to the project root directory and run:\n\n```sh\ngo run cmd/myapp/main.go\n```\n\nThe application will start, and you can access it at `http://localhost:8080`.\n\n### Project Details\n\n#### cmd/myapp/main.go\n\nThe entry point of the application. It initializes the configuration, logger, and server.\n\n#### pkg/config/config.go\n\nHandles the configuration using Viper. Loads settings from `config.yaml`.\n\n#### pkg/logger/logger.go\n\nSets up logging for the application.\n\n#### pkg/server/server.go\n\nConfigures the Gin router, sets up routes, and serves static files and templates.\n\n#### templates/\n\nContains HTML templates for the application. The default template is `index.html`.\n\n#### assets/\n\nContains static assets like CSS and JavaScript files.\n\n### Example `index.html`\n\nAn example HTML file located in the `templates` directory:\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n    \u003ctitle\u003e{{ .title }}\u003c/title\u003e\n    \u003clink rel=\"stylesheet\" href=\"/assets/css/tailwind.css\"\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n    \u003ch1\u003e{{ .title }}\u003c/h1\u003e\n    \u003cp\u003eWelcome to my portfolio!\u003c/p\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n```\n\n### Example `config.yaml`\n\nAn example configuration file located in the root directory:\n\n```yaml\nserver_address: \":8080\"\n```\n\n## Development\n\nTo run the application in development mode:\n\n1. Ensure Go is installed and your environment is set up.\n2. Navigate to the root directory of the project.\n3. Run the application using `go run cmd/myapp/main.go`.\n\n## Deployment\n\nTo build the application for production:\n\n1. **Build the binary:**\n\n```sh\n    go build -o bin/myapp cmd/myapp/main.go\n```\n\n2. **Run the binary:**\n\n```sh\n    ./bin/myapp\n```\n\n## Contributing\n\nContributions are welcome! Please submit a pull request or open an issue for any changes or additions.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgements\n\n- [Gin Web Framework](https://github.com/gin-gonic/gin)\n- [Viper Configuration Management](https://github.com/spf13/viper)\n \n\n### Explanation\n\n- **Overview:** A brief introduction to the project.\n- **Project Structure:** A visual representation of the directory structure.\n- **Getting Started:** Instructions for cloning the repository, installing dependencies, and running the application.\n- **Configuration:** Details on how to set up the configuration file.\n- **Running the Application:** Step-by-step instructions on running the project.\n- **Project Details:** Information about the key directories and files in the project.\n- **Development:** Instructions for running the application in development mode.\n- **Deployment:** Steps to build and run the application for production.\n- **Contributing:** Guidelines for contributing to the project.\n- **License:** Licensing information.\n- **Acknowledgements:** Credits to the libraries and frameworks used in the project.\n ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmrashed%2Fgo-starter-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmrashed%2Fgo-starter-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmrashed%2Fgo-starter-kit/lists"}