Growing Django Skills: GitHub MiniProjects

Photo by Faisal on Unsplash

Growing Django Skills: GitHub MiniProjects

Bismillah,

Over the past few days, I've been experimenting with Django, learning new concepts through the Django official documentation and Real Python contributors.

In this article, I'll just share an overview of a few mini-projects that you can find on my GitHub profile.

Let's get after it

Django and Flutter? An Experiment

person holding black and white ceramic mug

I have always been curious if you can tailor a Flutter mobile app or web app to run on a Django backend, although the project is small, I did get to see how one request can be sent from a Flutter Frontend into the Django Backend and get feedback from the backend.

You can check this little project in the django_flutter_proj1 repo, or you can go to the original tutorial and read how this was made possible.

A social App: Dwitter(Django + Twitter)

two black computer monitors on black table

This one was an attempt to learn how to create a simplistic social app with Django, Bulma CSS and HTML.

Here's how I describe it in its respective GitHub README file:

Django-Social: a Django social media project

Goals/Objectives

  • Users will be able to either follow or not follow another user.

  • If they follow someone, they’ll see that user’s content. If they don’t, they won’t.

  • Users can follow a person without being followed back. Relationships in the social network can be asymmetrical, meaning that a user can follow someone and see their content without the reverse being true.

  • Users need to be aware of who exists so that they know whom they can follow.

  • Users should also be aware of who follows them.

  • In the app’s most basic form, users won’t have many extra features available to them. We won’t implement a way to block people, and there won’t be a way to directly respond to content that someone else posted.

Tools/Stack

  • Python: Django

  • HTML/CSS

  • Bulma CSS

Steps to Create: Tutorial Series from Real Python

  • 📍 Part 1: Models and Relationships

    • Step 1: Set Up the Base Project

    • Step 2: Extend the Django User Model

    • Step 3: Implement a Post-Save Hook

  • Part 2: Templates and Front-End Styling

    • Step 4: Create a Base Template With Bulma

    • Step 5: List All User Profiles

    • Step 6: Access Individual Profile Pages

  • Part 3: Follows and Dweets

    • Step 7: Follow and Unfollow Other Profiles

    • Step 8: Create the Back-End Logic For Dweets

    • Step 9: Display Dweets on the Front End

  • Part 4: Forms and Submissions

    • Step 10: Submit Dweets Through a Django Form

    • Step 11: Prevent Double Submissions and Handle Errors

    • Step 12: Improve the Front-End User Experience

Where Next?

The next step is working on two portfolio projects:

  • A guided portfolio project, courtesy of the portfolio project guide by the guys at Real Python.

  • A self-paced portfolio project that is targeted at the skills I would like to apply for jobs with;

    • The idea was generated by Chat-GPT based on an interest I have, and a JD I fed it.

    • More info in coming posts.

As usual, no overthinking, all I say is Bismillah and start working.

Asalaam Aleykum!