Skip to main content

Command Palette

Search for a command to run...

#7 - Integrated Django and Vue in Wobu

Modifying an existing codebase is no jokes ๐Ÿ˜‰

Published
โ€ข3 min read
#7 - Integrated Django and Vue in Wobu
S
I build things. SaaS products, internal tools, automation, whatever the problem needs. My technical background spans FlutterFlow, Supabase, and modern no-code platforms, but I'm just as comfortable thinking through the customer, the market, and the go-to-market as I am writing the code. I also run client projects, which is how I pay the bills and stay sharp. It's a chaotic way to work and I wouldn't trade it. I'm building WorkBuddy, an AI-powered work journal for solopreneurs and freelancers and anyne who juggle too many projects at once. I also built My AI Digest, a personalized newsletter that cuts through AI noise and delivers what's actually worth your attention. I'm a proud generalist. Entrepreneurship taught me what no classroom could.

Quite some gap since my previous post, isn't it? Making a change like what I planned (see title of the post ๐Ÿ˜ฅ) to is easier said than done, for two reasons:

  1. Without getting a decent hold on Vue Js, it is not a good idea to proceed in my opinion. For that matter, without knowing the features of a framework, not just Vue, anything for that matter, one should not step in too deep. We can perform simple bug fixes and modifications with just basic knowledge and an understanding of the application in the picture, but beyond that is a risk. We will be spending an unnecessarily long time on simple fixes.

  2. Introducing a frontend framework in an already working codebase with a lot of nuts and bolts becomes tricky. In Wobu's case, one major configuration I did after setting up the cookie-cutter Django project was integrating Tailwind Css. That was not as simple as importing Tailwind's Css, it had a lot of steps to be performed. Infact, I planned to share the same in a future post. Now that plans changed, it may not hold good ๐Ÿ˜

Difficulties faced

I wouldn't say there were a lot of hiccups, but there was a major one. On building the Vue project, the assets folder was not copied fully to Django's static folder. CSS and SVG files were always missing.

One reason may have been the manual removal of Tailwind related configuration from my Django project. I removed quite a few folders and entries in multiple files.

Another reason is the configuration difference between a plain vanilla Django project and a cookie-cutter Django project.

The biggest one was, my Django project already had a lot of code from a template perspective.

What worked in the end

Fixing path related issues, version related issues, and quite a few other options, didn't help. Hence, for the time being, I decided to take an alternate route. I kept aside the cookiecutter Django project, instead created a plain vanilla one, applied all my changes and then worked on the integration, and it worked.

Closing thoughts

Troubleshooting is also an art, it's tougher than development is what I've realized many a time ๐Ÿ˜€. It needs a different knack for things, a different thought process. Depending on the time you have in hand, sometimes you may be forced to put in a dirty fix, I wouldn't say it's a crime. Just make sure to go back to put in the correct fix at a later point in time. These are a few decisions that need to be made as a team.

In the coming weeks, there may be again a small delay in updating my progress in Wobu. Primarily because there's a lot to digest with Vue.

Stay tuned and I will come back with an interesting update soon!

M

Sometimes it feels like one step forward and two steps back. ๐Ÿฅด You seem to have a good, persistent attitude. I continue to look forward to your updates.

1
S

Oh yeah, happens many a time. I'm okay as long as I'm not going just backwards ๐Ÿ˜…. Thanks for the constant motivation Mike Boldrick, much appreciated.

Building WorkBuddy, a work journal

Part 6 of 12

In this series, I write about my journey of building WorkBuddy (previously named it Wobu), a work journal. I will share my learning, dos & donts, tips & tricks, best practices and more.

Up next

#6 - Change of plan with the frontend approach

Yes, you heard it right. I decided to take a different route!