-
Building a Content Aggregator with the Django Web Framework 🚲
-
Inspiration behind the project: This is to gather all of the contents and important information from your favourite subjects into one single place.
-
The Content Aggregator Webapp would source all of the RSS feeds from all of the Podcasts Episodes of Real Python.
-
Kudos to @RealPython for the amazing tutorials and lessons that they have shared on their wonderful website https://realpython.com/ 🥰
-
Skills learned while working on the Content Aggregator Web App project:
- How to work and deal with RSS feeds
- How to create a Django custom management command
- How to run your custom command automatically on a schedule
- How to use unit tests to test your Django app's functionality
-
The content aggregator Web App is a Podcast Content Aggregator in Python named pyCasts!
-
The application will be a single web page displaying the latest Python podcast episodes from the Real Python Podcast https://realpython.com/podcasts/rpp/ and the Talk Python To Me Podcast https://talkpython.fm/
- Setting up the Django Project
- Build the podcast model
- Create the homepage view
- Parse a podcast RSS feed
- Create a Django custom command
- Add additional feeds
- Schedule tasks with Django-apscheduler
- feedparser library - fetching the podcast RSS feeds into the web application and parsing them. This would aid you in getting the latest episode data from that certain feed! Next, we would be marshalling that data into an Episode model and save to the database with the Django ORM.
- Custom management command - built-in Django Tool that will help you in creating custom scripts for your automation requirements / needs. With this, we would be able to parse and save the data within the Django ecosystem.
- django-apscheduler - setting a schedule for our custom function calls, which are also called jobs. Viewing them in your Django Admin page is a convenient way to monitor all of the jobs that have been ran and when those jobs have been executed. This will ensure that your automated fetching and parsing of the feed happens successfully without any more admin intervention.
- Django template engine - showing the user the queried context - other words, the latest episodes!
- Python version 3.9.0+
- Virtual Environment in Python
- HTML and CSS
- Django web framework features and its concepts like the following:
- Folder Structure
- URL routing
- Migrations
- Creating a Project and App
- Bootstrap 4
(.venv) C:\Users\Clarence Vinzcent\Content-Aggregator-WebApp>python manage.py check
System check identified no issues (0 silenced).
(.venv) C:\Users\Clarence Vinzcent\Content-Aggregator-WebApp>python manage.py startapp podcasts
(.venv) C:\Users\Clarence Vinzcent\Content-Aggregator-WebApp>py manage.py makemigrations && py manage.py migrate
(.venv) C:\Users\Clarence Vinzcent\Content-Aggregator-WebApp>py manage.py createsuperuser