{"id":28496291,"url":"https://github.com/gdbhosale/kushan-go-api-server","last_synced_at":"2026-05-02T05:40:15.248Z","repository":{"id":297923581,"uuid":"994223914","full_name":"gdbhosale/kushan-go-api-server","owner":"gdbhosale","description":"REST API server built with Go","archived":false,"fork":false,"pushed_at":"2025-06-08T10:35:37.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-08T11:27:24.529Z","etag":null,"topics":["crm","golang","postgresql","rest-api"],"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/gdbhosale.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,"zenodo":null}},"created_at":"2025-06-01T13:43:15.000Z","updated_at":"2025-06-08T10:35:41.000Z","dependencies_parsed_at":"2025-06-08T11:40:01.849Z","dependency_job_id":null,"html_url":"https://github.com/gdbhosale/kushan-go-api-server","commit_stats":null,"previous_names":["gdbhosale/kushan-go-api-server"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gdbhosale/kushan-go-api-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdbhosale%2Fkushan-go-api-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdbhosale%2Fkushan-go-api-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdbhosale%2Fkushan-go-api-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdbhosale%2Fkushan-go-api-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gdbhosale","download_url":"https://codeload.github.com/gdbhosale/kushan-go-api-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gdbhosale%2Fkushan-go-api-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263165657,"owners_count":23423986,"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":["crm","golang","postgresql","rest-api"],"created_at":"2025-06-08T12:07:09.183Z","updated_at":"2026-05-02T05:40:10.215Z","avatar_url":"https://github.com/gdbhosale.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kushan GO API Server\n\nA modern, production-ready REST API server built with Go, providing a robust foundation for Customer Relationship Management (CRM) systems. This API server features:\n\n### Key Features\n- **JWT Authentication** - Secure token-based authentication system\n- **Role-Based Access Control (RBAC)** - Granular permission management\n- **RESTful API Design** - Following REST best practices with standard HTTP methods\n- **Swagger Documentation** - Complete API documentation with interactive Swagger UI\n- **PostgreSQL Database** - Reliable data persistence with migrations\n- **Middleware Support** - Built-in logging, rate limiting, and CORS\n- **Environment Configuration** - Easy configuration via .env files\n- **Hot Reload Development** - Fast development cycle with Air\n\n### API Documentation\n\nThe API documentation is available via Swagger UI at `/swagger/index.html` when running the server locally. It provides detailed information about all available endpoints, request/response formats, and authentication requirements.\n\n### Tech Stack\n- Go 1.21+\n- PostgreSQL\n- JWT for authentication\n- Swagger/OpenAPI for documentation\n- Air for hot reloading\n- Make for build automation\n\n## TODO's\n\n- Linting - golangci-lint - https://github.com/evilmartians/lefthook\n- Testing\n- Dependency injection at compile - google/wire\n\n## Go Installation on Mac:\n\n```\nbrew install go\n```\n\n## Project Setup\n\n```\ncd cmd/\ngo get\n\ncp .env.local .env\n```\n\nEdit `.env` file for Database Credentials\n\n## Run Project\n\nYou can run project by following options:\n\n1. Run in development environment:\n\n    ```\n    make run-dev\n    ```\n\n2. Run \u0026 Watch in development environment (Using [Air](https://github.com/cosmtrek/air)):\n\n    ```\n    make run-watch\n    ```\n\n3. Build \u0026 Run `app` using `make`:\n\n    ```\n    make clean\n    make build\n    make run\n    ```\n\n## Utilities\n\nUpdate Swagger Doc:\n\n    ```\n    make swagger\n    ```\n\n\n\n\n## References:\n- https://github.com/swaggo/swag\n- https://github.com/swaggo/http-swagger\n\n## Required Libraries\n\n- jwt-go - https://github.com/golang-jwt/jwt\n\n## VSCode Extensions\n\n- GO https://marketplace.visualstudio.com/items?itemName=golang.Go\n- Code Spell Checker https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker\n- indent-rainbow https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdbhosale%2Fkushan-go-api-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgdbhosale%2Fkushan-go-api-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgdbhosale%2Fkushan-go-api-server/lists"}