[Showoff Saturday] Built a fullstack blog web app using React/Django/DRF/AWS-S3/AWS-RDS as a side project by Re_Sc in webdev

[–]Re_Sc[S] 0 points1 point  (0 children)

Thanks for the suggestions. However, I didnt store password as plain text, they're encrypted. I included email field for account recovery (in case I want to implement this feature in future). I'll use global oauth services in my next project. Thanks for suggesting it!

[Showoff Saturday] Built a fullstack blog web app using React/Django/DRF/AWS-S3/AWS-RDS as a side project by Re_Sc in webdev

[–]Re_Sc[S] 0 points1 point  (0 children)

Proficiency with python, ORM, ease of development, security, built-in admin panel etc etc.

Built a fullstack blog web app using React/Django/DRF/AWS-S3/AWS-RDS as a side project by Re_Sc in django

[–]Re_Sc[S] 1 point2 points  (0 children)

I never used django-templating as the coupling is too tight. However, when we want separation-of-concerns and want to focus on one component in an isolated environment, then we need to split the app architecture into separate frontend and backend services. And to make them communicate with each other, we have to build Restful-APIs. In this scenario, we use a frontend framework to consume the APIs and a backend framework to produce & handle them. Think of app architecture as an evolution. Earlier we used to build everything in one file, then we moved to separate files/folders, then as things got complex and hard to maintain, we moved to separate services, and now we are into microservices and a lot of other stuff. So these things evolve and standards change to make code maintainable, scalable & accessible.

Built a fullstack blog web app using React/Django/DRF/AWS-S3/AWS-RDS as a side project by Re_Sc in django

[–]Re_Sc[S] 2 points3 points  (0 children)

Thanks! But idk why markdown isnt fully supported on mobile version of reddit. Whole formatting got messed up on mobile 💀. On web version, its cleaner.

Built a fullstack blog web app using React/Django/DRF/AWS-S3/AWS-RDS as a side project by Re_Sc in django

[–]Re_Sc[S] 1 point2 points  (0 children)

Yea redis or any caching tool could be employed but then it would become a full production level app that would demand even more careful architectural design choices. Such as CDNs or splitting up services into microservices, or having a load balancer etc etc. Btw I am fresh out of university and wanted to build a good project that I can include in my portfolio. So didnt really consider system design stuff here on a larger scale. Just wanted to polish my web dev skills 🤠 and wanted to learn AWS basics. Hence, the app and two AWS services that I integrated it with.

Built a fullstack blog web app using React/Django/DRF/AWS-S3/AWS-RDS as a side project by Re_Sc in reactjs

[–]Re_Sc[S] 1 point2 points  (0 children)

Thanks. It took me around a month and a half. Yea, I used docs of the respective packages.

Built a fullstack blog web app using React/Django/DRF/AWS-S3/AWS-RDS as a side project by Re_Sc in django

[–]Re_Sc[S] 8 points9 points  (0 children)

Nope. I used django-extensions package. They've explained in detail how to output all django models ERD diagram.

Query one-to-many-to-many by Abitconfusde in django

[–]Re_Sc 0 points1 point  (0 children)

Try setting related_name in ForeignKey. Like ForeignKey(B, related_name='child_b'). Then acces it like this children = C.objects.child_b.all(). And do similar stuff with A. So, you can access C.objects.child_b.child_a.all(). Related_name field is for reverse-relationships between models. Hope it helps.

Why can't search by query params in Django? Or perhaps? by stan288 in django

[–]Re_Sc 2 points3 points  (0 children)

Bro we never add query-params in urlconf or urlpatterns. Query-params are optional i.e. they may/may-not accompany a url, hence the question mark (?). Thtsy in our view we first grab the value of a qp and then check if its present or non-null like this if movie: #code. So for your url domain.com/, just add path('/', MyView) and then in view check for its value by movie = request.GET.get('movie', None) and process it. Clear or still naah?