/nathanfoss.dev

An exercise in which students create a blog using Django and React while following tickets/issues to learn the Django backend framework.

Primary LanguageCSS

Let's learn Django!

Coding For Hermit Crabs uses Django in all of our social good projects. There are many reasons to love Django, but in our case, it pushes our students to learn a framework that relies on Python, a language that can be used professionally in several different contexts. In this exercise, you'll be spending this week creating a blog using the Django framework as a backend, and the React JavaScript framework as a frontend.

Assignment Goals

The goals of this assignment are that students:

  1. ) Become comfortable with using the Django framework through completing a robust project.
  2. ) Having a blog and/or portfolio website for students to post their articles to.

ER Diagram

This ER Diagram was created using LucidChart.

Instructions

    • Fork a copy of this repo. This copy will be where your blog is stored.
    • Add your fellow engineers to your repo as contributors.
    • Find a frontend theme that you like from Envato Elements - we have an Envato Elements account for the nonprofit, so these themes can be acquired for you!
    • Spend time learning the Django framework.
    • Fulfill all of the tickets in this repo. Each ticket will be considered "complete" when their acceptance criteria is completed.
    • Create a new branch for each ticket, and merge your work back in once your ticket is completed. Have your code reviewed by another engineer before it's merged in.
    • Post at least one of your articles to this blog.

Technologies used

The technologies used for this assignment are:

  • Django (Backend)
  • React (Frontend)
  • Fuse.js (Search)
  • Some kind of icon library (My recommendation would be either Forkawesome, or LineAwesome, as both of those are free)
  • Some kind of frontend library - I'd recommend Bootstrap or MUI. Both can be integrated into the theme you pick for your blog!

Blog Features

This blog will have a few noteworthy features. Feel free to add to this features list once your main assignment is completed:

  • The ability to post blog articles
  • Log in/Authentication for the blog's authors
  • Log in/Authentication for users to comment on your posts
  • One or more integrations for comments through multiple social media accounts (Facebook comments, Disqus, etc.)