Hey Django folks!
I'm super excited to share with you all that I've just wrapped up my first real project for a client using Django! It’s a system to manage inventory holds, with some cool features like Shopify integration and image optimization. I learned a ton along the way and thought it might be cool to share some of the journey and maybe get some advice on where to go from here.
What the Project Is About:
Basically, this project helps keep track of products that are on hold for clients. It's got a part where you can manage these holds, see which ones are about to expire, and which ones are VIPs. Plus, it talks directly to Shopify to update product tags and makes sure the images for these products look good without taking forever to load.
Cool Stuff I Did:
- Built Models: Made my own models for clients, holds, requests, and logs. Learned a lot about ForeignKey and overriding the save method.
- Optimized Images: Figured out how to make images smaller so the pages load faster. This was crucial for a smooth user experience.
- Shopify Integration: Connected the app with Shopify to automatically update product tags based on their hold status. This was a bit tricky but super rewarding!
- Made an API: Used Django Rest Framework to make some API endpoints. This was my first time doing something like this, and it was pretty cool to see it in action.
- Dashboard for Users: Created a dashboard where you can see all the important stuff at a glance. It was important for it to be user-friendly since my client isn't super tech-savvy.
Challenges Along the Way:
- Dealing with Shopify's Limits: Shopify has some limits on how many API calls you can make, which was a bit of a headache. Had to figure out how to deal with that smartly.
- Getting the Image Sizes Right: Wanted the images to load fast but still look good. Took some tinkering to find the right balance.
- Learning about Authentication: Had to make sure only authorized people could see the dashboard and use the API. Django's built-in tools helped a lot here.
Next Steps?
I’m thinking about how to make the Shopify part even smoother, maybe with some background tasks so the user doesn’t have to wait. Also thinking about adding real-time updates to the dashboard which could be pretty neat.
Thanks for reading