
Summer Memory
Write down your memories of Summer.
Today, I am happy to present my first project written in Python using the Django framework.
Please checkout Summer Memory: https://summermemory01.xyz/
Our project today is a simple CRUD application for writing your memories of summer. Summer Memory is a nerdy, deep cut, if you know, you know reference. But you may post any memory here, no matter what season it is in.
As mentioned in the README for this application, this is a spin on the Django tutorial in Eric Matter’s fantastic Python Crash Course book. For anyone wishing to get a full lesson on Django, I highly recommend his book, as well as the official Django tutorial. Combined you get a full view of how Django works.
From my frontend experience, like many other developers, I enjoy the Tailwind css framework for ease of styling within the class of html tags. After iterating through a few ways of implementing Tailwind in Django, I settled on using the Django-Tailwind package as the most efficient way to implement this framework in Django.
My largest expansion on the core logic of the tutorial was the user password recovery and the ability to delete journals and memories from your account. A real email delivery service implemented as well with the help of the Anymail package. Although make sure you find the right email delivery service for your project if you try to use this.
The largest hurdle I had with this project was actually deploying it. I chose to use Digital Ocean’s Droplet, which is affordable and effective enough for a project like this. I followed the official documentation Digital Ocean lays out for Django projects, and though I had little experience with Gunicorn and Nginx prior, the documentation they provided, along with the documentation in Gunicorn and Nginx themselves will be able to help if you have trouble.
Make sure you know how to access the Gunicorn socket and service files as well as the Nginx configuration. I accidentally created duplicates and lost track of these files, so one step at a time. For anyone coming from the ‘deploy to Netlify/Vercel/Github’ world, this is a bit more leg work and troubleshooting, but a really good chance to grow and learn how to deploy something manually.
If you have read this far, thank you for reading about my small win. This is not the end for the project though, as I have some high ambitions for the UI/UX of the site. For now, please feel free to drop me a line here. I would love to hear about your experiences with Django, Digital Ocean deployment, or taking a basic tutorial project and making it your own. And feel free to use the site! Make some memories this summer!
See you next Monday.
Jon