Project for setting up my Portfolio and Blog - this web app.
This repository contains the source code of my Portfolio project. My portfolio web application which I developed through this project is deployed on Digital Ocean and live on realnitinworks.com.
I used to write blogs here. The posts were served using 3rd-party applications like Pelican and Netlify.
However, I was not satisfied because I could not write the backend for serving my blog posts. Moreover, Netlify had some issues concerning SSL certificates
and on some days my blog was reported as
not secure. In addition to this, I didn't have a portfolio site until that point. So I decided to develop an application for my portfolio and blog from scratch, writing everything on my own.
The first thing which I did was to create a repository on Github. Then I created a Project on the repository and started listing down all the features (in Kanban style) I needed for my web application. This gave me a clear idea of my target. Slowly but surely I knocked down and completed one task after another.
Many a time I did not know how to tackle a task at first. But I stayed long with the problem without losing focus. I struggled with the problem, kept searching for the answer until I found it.
Before this project, I had experience with
Flask. However, I wanted to get serious with at least one of these. I decided to go with Django. But it doesn't matter. It is just my personal preference. In the past, I used to get bogged down by the UI design. That is where a framework like
Bootstrap helped me to get started without getting lost in the frontend.
I containerized my applications using
Docker-Compose for development and production. My applications run on containers deployed through Docker and Docker-Compose on the Digital Ocean cloud.
When the local code changes are pushed to Github, Github Actions builds and deploys the application to Digital Ocean droplet
Code Styling and Formatting
Domain and Email
Digital Ocean Deployment
$ git clone https://github.com/realnitinworks/portfolio.git
$ cd portfolio
$ docker-compose up -d # To start the application. App starts on 127.0.0.1:8000/
$ docker-compose down # To shutdown the application.
Django 3 By Example - Antonio Mele - A great book on Django for developing real-world web applications.
The first project in this book is, in fact, a
I cannot thank Testdriven.io for the real quality courses they produce. Learned a lot from here regarding Django development for production, using Docker, etc.
The blog posts here are equally good as their courses. My portfolio app deployment on Digital Ocean, CI/CD using Github, Heroku deployment, SSL certificate generation are all based on the learnings from their blog.