go back  33 - Build a Django Tracker, Weather or Review App

This challenge write-up first appeared on PyBites.

Life is about facing new challenges - Kostya Tszyu

Hi Pythonistas, a new week, a new 'bite' of Python programming. To keep it #100DaysOfDjango, this week we let you get some more practice with this awesome web framework. Last time we had an open Django challenge, for this one we have you choose between 3 specific apps.

The Challenge


  • Build an app to keep track of something:

    One requirement: data needs to be stored in a DB and be editable (basic CRUD).

Don't be shy

  • Convert PyBites' Weather Compare App (article) into a Django app and enhance it with the following features:

    • Keep a log of cities queried.
    • Have a user signup asking for the geo and show (and email) the daily weather.
    • Show historic weather info, maybe you could even integrate plots like we did with Flask

Die hard

  • Make a books or movie review app:

    • Long time ago I (Bob) created fbreadinglist and sharemovi.es. Both PHP and far from perfect, but good candidates to learn Django. You do need a bit of front-end skills to pull this off however, but who doesn't these days, right? ;)
    • The FB login is optional, if you want to try it out check out this article. Otherwise you could use django-registration, see our step-by-step guide.
  • Books and movie review apps are just not your thing? Sure, we understand. What about something cooler? Our second option for the main course is a code review tool for PyBites:

    • Create a Django app where one can submit code challenge solutions.
    • Have different roles: participants (can submit code), reviewer (can review code), admin (can promote users to reviewer and assign code reviews).
    • Github API integration would be really cool, but don't let that distract you. This is about Django.


Share your great work with the world deploying it to Heroku.

Get credit!

Take notice: the coolest working apps get a place under the #100DaysOfDjango project on our projects page!

See our INSTALL doc how to fork our challenges repo to get cracking.

This doc also provides you with instructions how you can submit your code to our community branch via a Pull Request (PR). We will feature your PRs in our start-of-the-week challenge review (previous editions).


If you have ideas for a future challenge or find any issues, open a GH Issue or reach out directly.

Last but not least: there is no best solution, only learning more and better Python. Good luck!

Keep Calm and Code in Python!

-- Bob and Julian

We use Python 3.8