First, a little bit of a background. I have come across such hashtags many times over the course of the past few years and this has always sounded so exciting and fun. There were times when I thought about participating in such activities, but had a lack of motivation. I don’t have one now too, FYI.

It’s December and I see the hashtag #100DaysOfCode re-emerging on social media. My Twitter feed is filled with determined techies taking on the challenge, and I thought why not? I’m about to graduate, and does my four year computer course even hold any relevance if I could not be a part of the community activities once in all these years? Neh.

Now, I don’t know what the origin of this challenge is. Yet. It’s 12.47 AM, 21 December 2019 when I’m writing this sentence, and I don’t intend to break this momentum right now. Also, I am not sure when the Day #0 of this was. But, what I know is that I can’t postpone it any further. I don’t know the rules of this thing, if there are any; and I don’t know how much and what I should be doing during these days. Is research counted in the hundred days of code, is printing hello world a close save for the same? I don’t know. But I’m gonna try.

Exactly one year back, I had started learning Django. Backend development was new to me. But Django seemed like an easy ride. I had started developing a simple website, but I gave up when college reopened.

Over time, I forgot the basics of Django because I never practiced. I knew what the general flow was but I forgot how to actually make it happen. And therefore, on the first day of my #100DaysOfCode, I started Django.

I started from scratch.

The first thing I did was configure a virtual environment. Somehow I always manage to forget which virtual environment I have been using and end up installing a new one. I used pipenv for this project. After configuring the virtual environment, I installed django and configured the project and an app for the project.

There are two major differences between the last time I picked up Django and this year:

  1. I have been using Git to keep track of my code. I always try to have an organized work environment but it always flows down the drain. This time, I aim to keep it updated with all the commits. An interesting point to note here is that instead of using GitHub to host projects, I’m giving a try to BitBucket. It has a user-friendly interface and is already starting to grow on me.
  2. Second – whenever I have used Django applications, it has been confined to the development environment with runserver. This time, I am pushing the code to Heroku and learning the transition required for development to deployment environments.

This is the first phase of my #100DaysOfCode. I have not yet planned on the next topic I want to pick up, but the next few days will definitely be spent understanding Django and its fundamentals. 

To summarize the first day:

  • Virtual Environments
  • Project Configuration and File Structure
  • Django App Cnfiguration
  • Model View Templates Architecture
  • URL Routing
  • Class Based Views Introduction
  • Jinja Templating Introduction
  • Git
  • BitBucket
  • Heroku

Some of these topics will be repeated in the next few phases as I continue to explore these further and revise and continue to learn more about them.

Let me know what you are doing or have done or plan to do for your #100DaysOfCode, and we can share our experiences together. All suggestions and recommendations for new ideas or reference materials are welcome and appreciated. At the end of this, I will post all the references that I have used for going through the technologies and concepts mentioned.

[Note: It’s 11.54 AM, 21 December when I’m posting it. After a good sleep and completing this piece, I finally searched for what exactly the rules of the challenge are. Minimum of an hour of coding is the main catch of the activity. Sorry, hello-world-potential-loophole. I have tried this code for an hour at minimum everyday and have failed miserably at it too; many times. But this time, seeing other coders online, sharing their experiences and what new they did is an encouragement in the right direction. Good luck y’all!]