https://github.com/jhnvlglmlbrt/rss-aggregator
Создание RSS агрегатора каналов
https://github.com/jhnvlglmlbrt/rss-aggregator
api chi feeds go-chi golang goose rss-aggregator schema sql sqlc
Last synced: 8 months ago
JSON representation
Создание RSS агрегатора каналов
- Host: GitHub
- URL: https://github.com/jhnvlglmlbrt/rss-aggregator
- Owner: Jhnvlglmlbrt
- Created: 2023-10-12T19:59:56.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-04T20:08:05.000Z (over 2 years ago)
- Last Synced: 2025-01-21T08:20:40.183Z (over 1 year ago)
- Topics: api, chi, feeds, go-chi, golang, goose, rss-aggregator, schema, sql, sqlc
- Language: Go
- Homepage:
- Size: 31.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ⚙️ Rss feed aggregator
#### # Создание RSS feed агрегатора, который позволяет клиенту:
- Добавлять RSS-каналы для сбора постов
- Подписываться и отписываться от RSS-каналов, добавленных другими пользователями
- Получать все последние посты из RSS-каналов, на которые подписан пользователь
## ❗ Requirements
- .env
```
PORT=8080
DB_URL=postgres://postgres:Username@localhost:5432/dbname?sslmode=disable
```
## 💿 Installation
```
go get
```
## 🪛 How to use?
```
cd sql/schema && goose postgres postgres://postgres:Username@localhost:5432/dbname up
cd ../../ && make run
```
## Queries
### /users
- **GET:** `http://[::1]:8080/v1/users`
```
Authorization: ApiKey userApiKey
```
- **POST:** `http://[::1]:8080/v1/users`
```json example
{
"name": "Bob"
}
```
### /feeds
- **GET:** `http://[::1]:8080/v1/feeds`
- **POST:** `http://[::1]:8080/v1/feeds`
```json example
{
"name":"CrimeJunky",
"url":"https://feeds.simplecast.com/qm_9xx0g"
}
```
```Headers
Authorization: ApiKey userApiKey
```
### /feed_follows
- **GET:** `http://[::1]:8080/v1/feed_follows`
- **POST:** `http://[::1]:8080/v1/feeds`
```json example
{
"feed_id" : "94687cb3-5403-4b54-84a2-7bcfbb100faf"
}
```
- **DELETE:** `http://[::1]:8080/v1/feed_follows/{feedFollowID}`
```Headers
Authorization: ApiKey userApiKey
```
### /posts
- **GET:** `http://[::1]:8080/v1/posts`
```Headers
Authorization: ApiKey userApiKey
```