{"id":22242247,"url":"https://github.com/pradumnasaraf/kuredopogo","last_synced_at":"2025-10-13T10:30:39.819Z","repository":{"id":266162358,"uuid":"897337388","full_name":"Pradumnasaraf/KuReDoPoGo","owner":"Pradumnasaraf","description":"Kubernetes Redis Docker Postgres Golang - KuReDoPoGo, is an backend API service that is built using Golang and Gin Framework. It uses Redis for rate limiting and Postgres for storing data. It is deployed on Kubernetes. For local development it uses Docker Compose.","archived":false,"fork":false,"pushed_at":"2024-12-05T19:02:31.000Z","size":76,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-26T14:08:16.712Z","etag":null,"topics":["docker","golang","kubernetes","postgresql","redis"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Pradumnasaraf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["eddiejaoude"]}},"created_at":"2024-12-02T13:08:46.000Z","updated_at":"2025-01-13T01:24:03.000Z","dependencies_parsed_at":"2024-12-03T03:04:24.453Z","dependency_job_id":null,"html_url":"https://github.com/Pradumnasaraf/KuReDoPoGo","commit_stats":null,"previous_names":["pradumnasaraf/kuredopogo"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FKuReDoPoGo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FKuReDoPoGo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FKuReDoPoGo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Pradumnasaraf%2FKuReDoPoGo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Pradumnasaraf","download_url":"https://codeload.github.com/Pradumnasaraf/KuReDoPoGo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236330533,"owners_count":19131748,"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":["docker","golang","kubernetes","postgresql","redis"],"created_at":"2024-12-03T04:15:07.627Z","updated_at":"2025-10-13T10:30:34.475Z","avatar_url":"https://github.com/Pradumnasaraf.png","language":"Go","funding_links":["https://github.com/sponsors/eddiejaoude"],"categories":[],"sub_categories":[],"readme":"## KuReDoPoGo\n\nKubernetes Redis Docker Postgres Golang—KuReDoPoGo is a backend API service built using Golang and Gin Framework. It uses Redis for rate limiting and Postgres for storing data. It is deployed on Kubernetes. For local development, it uses Docker Compose.\n\n## Using and Developing\n\n### Running Locally\n\n#### Prerequisites\n- Go\n- Postgres (local, remote, or Docker instance)\n- Redis (local, remote, or Docker instance)\n\n1. Copy the `.env.example` file to `.env` and update the values like postgres connection string, redis connection string, and other values as needed. You can use the following command to copy the file:\n\n```bash\ncp .env.example .env\n```\n\n2. Install the Go dependencies and run the application:\n\n```bash\ngo mod download\ngo run main.go\n```\n\nYou can access the application at `http://localhost:8080`.\n\n### Running with Docker Compose\n\n#### Prerequisites\n\n- Docker\n- Docker Compose\n\n1. Run the following command to start the application:\n\n```bash\ndocker compose up\n```\nIf you're using the latest version of Docker Compose, you can leverage the Compose Watch feature. This will automatically rebuild the application when code changes are made:\n\n```bash\ndocker compose up --watch\ndocker compose up --build --watch\n```\n\nYou can access the application at `http://localhost:8080` and Postgres at `http://localhost:5432`.\n\n### Using the API\n\nOne the application is running, you can use the following endpoints to interact with the API. By default, the rate limit is set to 10 per hour. You can change this in the `.env` file.\n\n#### Endpoints\n\n- `GET /users`: Get all users\n- `GET /users/:id`: Get a user by ID\n- `POST /users`: Create a new user\n- `PUT /users/:id`: Update a user by ID\n- `DELETE /users/:id`: Delete a user by ID\n- `GET /health`: Get the health status of the application\n\nPOST and PUT requests require a JSON body with the following structure:\n\n```json\n{\n  \"name\": \"John Doe\",\n  \"email\": \"test@test.com\"\n}\n```\n\n## License\n\nThis project is licensed under the [GNU General Public License v3.0](LICENSE).\n\n## Security\n\nIf you discover a security vulnerability within this project, please refer to the [security policy](SECURITY.md) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpradumnasaraf%2Fkuredopogo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpradumnasaraf%2Fkuredopogo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpradumnasaraf%2Fkuredopogo/lists"}