{"id":17760851,"url":"https://github.com/dhrypt/animated-waddle","last_synced_at":"2025-10-26T10:24:31.102Z","repository":{"id":258816373,"uuid":"875687458","full_name":"dhrypt/animated-waddle","owner":"dhrypt","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-20T18:20:06.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T08:15:19.633Z","etag":null,"topics":["backend","backend-api","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","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/dhrypt.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-10-20T16:07:33.000Z","updated_at":"2024-10-20T18:20:52.000Z","dependencies_parsed_at":"2024-10-20T22:40:54.663Z","dependency_job_id":null,"html_url":"https://github.com/dhrypt/animated-waddle","commit_stats":null,"previous_names":["dhrypt/animated-waddle"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhrypt%2Fanimated-waddle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhrypt%2Fanimated-waddle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhrypt%2Fanimated-waddle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhrypt%2Fanimated-waddle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhrypt","download_url":"https://codeload.github.com/dhrypt/animated-waddle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246644097,"owners_count":20810687,"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":["backend","backend-api","go","golang"],"created_at":"2024-10-26T19:13:41.377Z","updated_at":"2025-10-26T10:24:26.069Z","avatar_url":"https://github.com/dhrypt.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# animated-waddle\n\nAnimated Waddle is a template REST API backend built with Go and PostgreSQL. It includes support for custom PostgreSQL images that you can create and preload with data. The project also comes with Kubernetes configuration files for easy deployment.\n\n## Technologies and Libraries\n\n1. [Go](https://go.dev/)\n2. [PostgreSQL](https://www.postgresql.org/)\n3. [Gofiber](https://gofiber.io/)\n4. [GORM](https://gorm.io/)\n5. [Docker](https://www.docker.com/)\n\n## Building and Running the Application\n\nYou can deploy the application using either Docker or Kubernetes. Below are instructions for both methods.\n\n### A. Create Custom PostgreSQL Docker Image\n\n1. Modify the `database/init.sql` file to define your databases, tables, relations, and any initial data you want to preload.\n2. During the build process, the Docker image will be created by executing the script inside the container.\n\n#### Command to build the PostgreSQL Docker image:\n\n```bash\ndocker build -f db.Dockerfile -t dhrypt/animated-waddle:latest .\n```\n\n### Push the PostgreSQL Docker image to Docker Hub:\n\n```bash\ndocker push dhrypt/animated-waddledb\n```\n\n### To run the Docker image locally, use the following command:\n\n```bash\ndocker run -d --rm -p 5432:5432 -e POSTGRES_PASSWORD=postgres -e POSTGRES_USER=postgres --name animated-waddledb dhrypt/animated-waddledb:latest\n```\n\n### B. Docker Compose\n\nYou can run the application using Docker Compose with the following command:\n\n```bash\ndocker-compose up --build\n```\n\n### C. Kubernetes\n\nTo deploy the application on a Kubernetes cluster, YAML files are provided for both the Go backend and PostgreSQL database.\n\nRun the following commands to start the Kubernetes deployment and services:\n\n```bash\nkubectl apply -f deployment.yaml\nkubectl apply -f postgres-deployment.yaml\n```\n\n### Future Tasks\n\n1. Add tests\n2. Add support for gRPC\n3. Add support for GraphQL database\n4. Add support for Auto build and push to dockerhub through Github actions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhrypt%2Fanimated-waddle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhrypt%2Fanimated-waddle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhrypt%2Fanimated-waddle/lists"}