- Run the command :
docker compose up -d
- Open http://127.0.0.1:8000 link in your browser for viewing main page of the project.
- Open the following link in your browser to view the project documentation: http://127.0.0.1:7000.
- First Run the project with
docker compose up -d
- Run
docker compose exec api python manage.py test
- You would see logs of tests in the terminal
Add FEED_READER dictionary to django setting file fr this parameters:
FEED_READER = {
"MAX_FEED_READER_ERRORS": Maximum retries times if any error occurred,
"FEED_READER_RETRY_TIME": Time in seconds if you want to retry errored feed links,
"DEFAULT_PARSING_TIME_LOOP": Time in second between parsing feed links,
}
By using api exposed in swagger page you can build your favorite UI using modern front end JavaScript frameworks like
React.
Go to swagger docs page via http://127.0.0.1:8000/api/swagger
- Register a user to system with POST request to
/auth/register
- Login user with request to
/auth/token
- Add a new feed by sending a POST request to
/api/posts
and enter the required information. - The system will start a background process to fetch feed links every 5 minutes.
- First get all feed using
get
request to/api/feeds/
and get the feedid
- Send patch request to
/api/feeds/{id}/
route. For examplefollowed=false
.id
is obtained from previous step. Feed after creating has by defaultfollowed=true
- Use
/api/filter-posts
route. Note that all posts are by defaultfollowed=false
andreaded=false
- Use
/api/filter-posts
route. Note that all posts are by defaultfollowed=false
andreaded=false
- First filter posts to find a post and use its
id
**2. Send patch request to/api/posts/{id}/
route. For examplefollowed=true
andreaded=true
.id
is obtained from previous step.
- Django for base of system because of its great features
- Celery for running background and periodic tasks
- Redis as message broker for celery because it is robust and battle tested for production and insures message persistence
- Redis for caching because it is ultra-fast