Application
- Python
- Django
- HTML
- CSS
- SQLite
- WhiteNoise
Behind KrushComics
Welcome to krushcomics.com, the official website of KrushComics. This website serves as my personal corner of the internet to share thoughts and feelings I have on awesome nerd media and share programming/IT-related projects that I am working on.
Lets answer the big question, "What is KrushComics?". KrushComics in this case is two things, the name of the website, and the name of a personal 'brand' if you will. The KrushComics website, as mentioned above, serves as my corner of the internet to share my thoughts on my favorite (or sometimes least favorite) pieces of nerd media. I have been a huge nerd all of my life, being obsessed with comic books and superheroes as a kid, and getting into science fiction and fantasy novels as I got older, my love for the human imagination has never died. And with that I have always enjoyed talking about the stuff I love, and I have many thoughts. This site acts as a way for me to express those thoughts.
The second question is about the name, what is 'KrushComics' and where does it come from? When I was a kid, my dream in life was to become a comic book author. My hero at the time was Stan Lee and I wanted to become like him. Creating awesome superheroes that would rival Spider-Man, Captain America, Superman, Batman etc. I would draw pictures of original characters I had and write small stories. I would show my Dad and one day he told me that if I was going to create a superhero universe, the universe would need a name. There is DC Comics, Marvel Comics, Valiant Comics, Dark Horse Comics. And I needed my own. Hence Krush Comics was born. I thought it sounded cool and had that superhero flair with the 'Krush' sounding like one of the famous comic book sound effects. This name quickly became a sort of personal 'brand' for me, I used it as an internet handle or gamertag for whatever I did. And it kind of caught on. When I played MMOs, or created new accounts on the internet, the tag I would always use was KrushComcis, and it took on a personality of its own. So when I decided to create a website for myself, I figured the only domain name suitable, was krushcomics.com, so here we are.
Requests to KrushComics first reach the web server, which handles HTTPS and forwards application requests to Gunicorn. Gunicorn runs the Django application, while uploaded media and application data are stored separately from the application source code.
The website was built on the Django framework, using Python for any logic on the backend. The official site is hosted on a Ubuntu Linux VM using Oracle Cloud Services. On this VM is a Github Runner with permissions to execute a custom deployment script. This script pulls the newest main branch, installs the listed dependencies, checks Django, backs up the sqlite3 database, runs migrations, collects static files for production, restarts Gunicorn, and tests live HTTPS.
Reviews, posts, and other writing organized into browsable archives.
A place to document software and technology projects that I am building and learning from.
Django's administration system allows site content to be managed without directly editing application data.
Layouts and navigation are designed to work across desktop and mobile screen sizes.
A few planned changes are the following:
- More posts and writing
- Cleaner project tracker
- Integration with a possible YouTube channel
- Contact field
- Prettier and more modern design for the site
- Possible Dark Mode for colors
- Possibly more visuals (working in art of my favorite media).
This site was built for two distinct purposes. One, and the initial reason, was a love for programming. I really enjoy programming and coding and I have a lot of projects in mind that I want to work on, and a lot of concepts I want to learn more deeply. Web development is something I had an interest in but very little experience. I was working on a project for work where I was developing a full webpage and though I was really enjoying the project, I felt I was overengineering for the specific goal, so I moved the work project to something different but still wanted a place to practice and learn more about web development. The easy idea was to create a personal website, but this sparked the thought of having a site to write thoughts and reviews on all of my favorite media. I would already write reviews out for fun, so I thought having somewhere to store it would be perfect. At this point the project took off and I started to learn how to build the whole parts of the site. I utilized AI, specifically ChatGPT and Claude solely for the purpose of learning. I used them as extra tools along videos, articles, free learning courses and experimental practice to learn concepts of web development and the Django framework. I made a rule to not utilize tools like Claude Code or Codex for live deveopment unless it was a change I knew I could make on my own. I did this for the purpose of learning, I know that when I prompt an LLM and it writes pages of code for me, I do not understand that code as well as I would if I sat and wrote it out. For this, I would only utilize those tools for live code production, if I knew how to make the change and was simply saving time, an example of this was after adding links to the nav bar, I wanted to combine two separate django "apps" into one. I knew how to do this as I had practiced this with a course, but I had already built the pages out so to save time I had Codex do this.