{"id":20519541,"url":"https://github.com/syedaanif/rss-feed-aggregator","last_synced_at":"2026-04-19T12:31:36.274Z","repository":{"id":199065606,"uuid":"700384937","full_name":"SyedAanif/rss-feed-aggregator","owner":"SyedAanif","description":"This repository contains a service written in GO for RSS(RDF Site Summary or Really Simple Syndication) feed aggregation","archived":false,"fork":false,"pushed_at":"2023-10-08T11:40:20.000Z","size":147,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-16T10:32:01.930Z","etag":null,"topics":["go","golang","goose","postgresql","rss-feed","server","sqlc"],"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/SyedAanif.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}},"created_at":"2023-10-04T13:52:51.000Z","updated_at":"2023-10-08T11:41:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"9dc814d0-fd5c-4c49-a57d-9f4680a40ebb","html_url":"https://github.com/SyedAanif/rss-feed-aggregator","commit_stats":null,"previous_names":["syedaanif/rss-feed-aggregator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyedAanif%2Frss-feed-aggregator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyedAanif%2Frss-feed-aggregator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyedAanif%2Frss-feed-aggregator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyedAanif%2Frss-feed-aggregator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SyedAanif","download_url":"https://codeload.github.com/SyedAanif/rss-feed-aggregator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242123333,"owners_count":20075348,"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":["go","golang","goose","postgresql","rss-feed","server","sqlc"],"created_at":"2024-11-15T22:14:32.306Z","updated_at":"2026-04-19T12:31:36.223Z","avatar_url":"https://github.com/SyedAanif.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rss-feed-aggregator\nThis repository contains a service written in GO for RSS(RDF Site Summary or Really Simple Syndication) feed aggregation.\n\n# Concepts Covered:\n- GO Lang\n- Postgres\n- Web-Server using CHI\n- Thunder Client extension of VSCode\n\n# Commands and packages used:\n- `go mod init`\n- `go mod tidy`\n- `go mod vendor`\n- `go get github.com/go-chi/chi`\n- `go get github.com/go-chi/cors`\n- `go get github.com/google/uuid`\n- `go get github.com/joho/godotenv`\n- `go get github.com/lib/pq`\n\n```\nbrew install postgresql\nbrew services start postgresql\n```\n\n- Download [PGAdmin](https://www.pgadmin.org/) client to interact with Postgres Data-base.\n\n- Install [sqlc](https://sqlc.dev/): SQLC is an amazing Go program that generates Go code from SQL queries. It's not exactly an ORM, but rather a tool that makes working with raw SQL almost as easy as using an ORM.\n```\ngo install github.com/kyleconroy/sqlc/cmd/sqlc@latest\n\n```\n\n- Configure *sqlc*:\n```\nversion: \"2\"\nsql:\n  - schema: \"sql/schema\"\n    queries: \"sql/queries\"\n    engine: \"postgresql\"\n    gen:\n      go:\n        out: \"internal/database\"\n```\n\n- Write an SQL query to be created as GO method/function:\n  Inside the sql/queries directory, create a file called users.sql. Here is mine:\n```\n-- name: CreateUser :one\nINSERT INTO users (id, created_at, updated_at, name)\nVALUES ($1, $2, $3, $4)\nRETURNING *;\n```\n$1, $2, $3, and $4 are parameters that we'll be able to pass into the query in our Go code. The `:one` at the end of the query name tells SQLC that we expect to get back a single row (the created user).\nOther keywords are `:many`, `:exec`(execute with void)\n\n- Run `sqlc generate` to generate new Go code for your queries.\n\n- Install [goose](https://github.com/pressly/goose): Goose is a database migration tool written in Go. It runs migrations from the same SQL files that SQLC uses, making the pair of tools a perfect fit.\n```\ngo install github.com/pressly/goose/v3/cmd/goose@latest\n\n```\n\nA **migration** is a SQL file that describes a change to your database schema. For now, we need our first migration to create a users table. The simplest format for these files is:\n\n*number*_*name*.sql\nFor example, I created a file in sql/schema called 001_users.sql with the following contents:\n\n```\n-- +goose Up\nCREATE TABLE ...\n\n-- +goose Down\nDROP TABLE users;\n```\n\nTo run the *migration*:\n```\ngoose postgres CONN up\nex: goose postgres postgres://\u003c\u003cusername\u003e\u003e:\u003c\u003cpassword\u003e\u003e@\u003c\u003caddress\u003e\u003e:\u003c\u003cport\u003e\u003e/\u003c\u003cdb-name\u003e\u003e up\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyedaanif%2Frss-feed-aggregator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyedaanif%2Frss-feed-aggregator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyedaanif%2Frss-feed-aggregator/lists"}