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.
The goals of this assignment are that students:
- ) Become comfortable with using the Django framework through completing a robust project.
- ) Having a blog and/or portfolio website for students to post their articles to.
This ER Diagram was created using LucidChart.
- ) 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.
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!
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.)