/rss-feeder

Primary LanguagePython

RSSFEED

An RSS scraper application which saves RSS feeds to a database and lets a user view and manage feeds they’ve added to the system

Getting Started


To get started follow this simple step

N:B be sure you have docker installed, If not follow this link to Install DOCKER
  1. Clone or download project
  2. Change directory into the root project directory
  3. Create a .env file by copying the .env.sample
  4. configure your .env to your personal requirement
  5. Run docker-compose up --build on your bash/terminal to install build and run the container
  6. Application start

Development

docker-compose up

Test

cd app and run pytest

Production

docker-compose up

Route

base url = api/v1

feed url =/feeds

Http-Method Url
GET /
POST /
GET /:id
POST /:id/follow
POST /:id/unfollow
GET /:id/followers
GET /:id/items
GET /:items
GET /items/:item_id
GET /:id/ping
GET /me

auth url =/auth

Http-Method Url
POST /users
GET /users
PATCH /users/:id
GET /users/:id
POST /login

API DOCUMENTATION

The Api endpoints are document using the OPEN API standards: Swagger documentation

system design

System flow

Technology Used (Built With)


  • Python - Python is a programming language that lets you work quickly and integrate systems more effectively
  • Django Rest Framework - Django REST framework is a powerful and flexible toolkit for building Web APIs.
  • Django - Django makes it easier to build better web apps more quickly and with less code.
  • Postgres - PostgreSQL is a powerful, open source object-relational database system.
  • BeautifulSoup - Python library for pulling data out of HTML and XML files.
  • Celery - A task queue with focus on real-time processing, while also supporting task scheduling.
  • Redis - Redis is an in-memory data structure store, used as a distributed, cache and message broker
  • Pytest - pytest is a mature full-featured Python testing tool that helps you write better programs.

Style Guide

This is the link to the style guide use to build this API PEP8

Author

Ismail Ibrahim K

License

This project is licensed under the MIT License

Acknowledgement