{"id":31622847,"url":"https://github.com/quinost/go-projects","last_synced_at":"2026-05-19T07:09:32.671Z","repository":{"id":314668042,"uuid":"1056352277","full_name":"Quinost/go-projects","owner":"Quinost","description":"Go projects. Workerpool, health checker, grpc implementation","archived":false,"fork":false,"pushed_at":"2025-09-28T20:05:52.000Z","size":68,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-28T22:05:19.320Z","etag":null,"topics":["go","grpc","health-check","workerpool"],"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/Quinost.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-13T22:50:40.000Z","updated_at":"2025-09-28T20:05:55.000Z","dependencies_parsed_at":"2025-09-14T00:26:33.830Z","dependency_job_id":"169e1078-e730-4ea9-a287-7eaccfdba9f8","html_url":"https://github.com/Quinost/go-projects","commit_stats":null,"previous_names":["quinost/go-projects"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Quinost/go-projects","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quinost%2Fgo-projects","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quinost%2Fgo-projects/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quinost%2Fgo-projects/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quinost%2Fgo-projects/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Quinost","download_url":"https://codeload.github.com/Quinost/go-projects/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Quinost%2Fgo-projects/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278649765,"owners_count":26022183,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["go","grpc","health-check","workerpool"],"created_at":"2025-10-06T17:36:04.475Z","updated_at":"2026-05-19T07:09:32.664Z","avatar_url":"https://github.com/Quinost.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eSmall projects in GO\u003c/h1\u003e\r\n\u003cbr\u003e\r\n\r\n![logo](image.png)\r\n\r\n# gRPC\r\n- gRPC Service – port 50051, handles business logic and external API calls\r\n- HTTP Gateway – port 8080, exposes REST endpoints\r\n- Internal communication via gRPC\r\n- External access via HTTP\r\n\r\ngRPC / Protocol Buffers  \r\nHTTP/REST  \r\nExternal currency API integration  \r\n\r\n# healthchecker\r\n- Concurrent per-site monitoring - each site runs in its own goroutine with a ticker\r\n- Each site gets a dedicated monitor worker\r\n- Configurable intervals and timeouts via YAML\r\n- Notifier pattern for status change alerts\r\n\r\nYAML configuration  \r\nHTTP client  \r\nStructured logging (slog)  \r\nWait groups for goroutine management  \r\n\r\n# warehouse\r\n- Custom JWT Authentication Middleware \r\n- Custom Database Migrator with version tracking and seeding system\r\n- Custom Validator for input validation using struct tags\r\n- Configuration Management with YAML (cfg package)\r\n- Layered Architecture: Handlers → Services → Repositories → PostgreSQL\r\n\r\nPostgreSQL + custom migrator with schema_migrations table  \r\nJWT Authentication (golang-jwt/jwt) with custom middleware  \r\nbcrypt for password hashing  \r\nYAML Config  \r\nCustom Validator based on reflection and struct tags  \r\n\r\n# workerpool-thumbnail\r\n- Worker pool for concurrent image processing\r\n- HTTP server with file upload and validation\r\n- Asynchronous job processing with buffered channels\r\n- Graceful shutdown of both server and worker pool\r\n\r\nHTTP server with multipart form handling  \r\nImage processing (decode/encode, scaling with Catmull-Rom)  \r\nConcurrent worker pool implementation  \r\nFile system operations for thumbnail storage  \r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquinost%2Fgo-projects","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquinost%2Fgo-projects","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquinost%2Fgo-projects/lists"}