Alireza Raad

Django

This Website

This Website

Author

raad

Category

Django

Tags

django, html, htmx

TL;DR

A personal website built with Django and HTMX, fully containerized with Docker and deployed on a Linux VPS using nginx and PostgreSQL for performance and scalability.

About This Website

I originally started building this website using HTML and HTMX. At that time, I did not yet have enough front-end experience with Next.js, and I couldn’t find a suitable developer to work with. Meanwhile, I fully developed the backend API and tested it several times using Postman.

Eventually, I decided to switch the project to Django + HTML because it provided more stability and flexibility for my needs. I also integrated HTMX components to make the blog and project pages more interactive and engaging.

This website will continue to be updated regularly as I experiment with modern technologies and improve the overall user experience.

Project Management and Tools

For project management, I used uv to streamline workflows and keep everything organized. I integrated CKEditor 5 for rich text editing, and set up AllAuth to enable smooth social sign-in options. Additionally, I implemented django-taggit to power the tagging functionality across different sections of the website.

Deployment and Infrastructure

To containerize my application, I used Docker, and relied on a Docker Compose setup to integrate essential services including nginx for serving static files and PostgreSQL as the primary database. The project was deployed on a Linux VPS, where I configured the server to host my code.

Using bind tools, I mapped my VPS IP address to my domain, and configured nginx as a reverse proxy to route incoming traffic to the Dockerized nginx instance. Finally, I secured the website by installing an SSL certificate with Certbot.