- The Value Vault
- Posts
- Development & Deployment for a Layman
Development & Deployment for a Layman
A real conversation between a layman and an expert, documenting the insights and learnings of the tech world
Hey — It's Husam.
All of the below insights/learnings was possible because of a layman like me, asking the right questions(me); And my dearest friend Firas tending to these questions and answering them.
This blog/article is essentially a culmination of my learnings and understandings from the past two years of development and deploying websites or tools for the internet and for the people.
I stumbled upon these questions and reached out to my friend as mentioned above and was able to get these answers.
I decided to document all of the learnings and insights as it is.
All brilliance in this article is Firas’s; Any mistakes are mine
This formatting shows I’m asking a question to my friend
This formatting shows I’m quoting my friends response
The following are the questions & answers during the conversation:
I was displaying a project I am working on to get feedback:
but the fact that it is a one page application bothers me, the back browser button doesn’t function on this, that’s bad practice
Me: I understand, Is there any video/doc which can explain this…do send
You used React?
Me: I used NextJs(React)
Ah then very easy, next js was built to solve react’s default one page style
Just need to split up your components into different folders and it’ll have different routes
Then you can just hyperlink between them
https://nextjs.org/docs/app/building-your-application/routing/defining-routes
Currently all of them are in a single folder, under the components folder
https://github.com/HUSAM-07/AccessX

Me: Also I want to start learning building applications using a stronger backend, like Djano + React/NextJs ( I’m assuming all modern tools with good scale use this )
Ah so what you have rn is a bit of a structure issue. It works and everything but it becomes a one page app which isn’t ideal
It also doesn’t take advantage of “use server” which is one of next js’s best advantages
So instead of just one page.ts and all routing handled in maincontent.tsx, read that documentation link
Look into putting navbar in layout, dashboard, attendance each as separate pages, separate page.tsx in different folder (next js routing is by folder names)
Me: This is a very good piece of info, I could’ve done much better If I was aware of this previously
did know about this, (next js routing is by folder names)…but never focused on using the features…currently still learning react/nextjs
Yep that’s the thing most of these “advanced” libraries never stop you from doing anything, good in one way, but then many times you’d end up missing their important features
Me: Mhm…I’ve understood one thing over these years…most of the languages/frameworks can build almost anything…it’s just that some of them are a bit easier than the others or easier to scale, correct?
Kind of yes, see people say Django>flask
But technically you can do the exact same things, however it will take much more time to make those things happen in flask- ie: django is more production ready than flask with a lot of built in stuff
Then again for a small project I would choose flask cause I don’t need to deal with all that headache
And when it comes to frontend, specially those deployed on vercel, netlify, GitHub pages — so called “serverless” the tech you used to make it doesn’t matter for scalability it’s all on the server
Me: Also, check this out:
Pretty cool, I think automates/simplifies a bunch of stuff that was manual deployment before
Me: Yep, considering there are very rare python supported frameworks for production ready env
—
How do you determine whether something is prod ready?
I’m assuming there is stuff like how much it can handle etc?
Like Streamlit is not good for proper applications…maybe for more than 100 people using it or something
90% of the time the bottleneck on speed or number of requests is only on the server hosting it, not on the framework, unless someone messed up the code then it’s a code issue can’t blame the framework
Streamlit I think improving but they don’t have some important production safety features plus I don’t think it can run multiple requests parallely which is like minimum requirement for a decent webserver (django, flask do it on deployment)
Me: Also, these big companies do not host their websites on vercel etc ?
Vercel paid plan gives you better servers so they can
But most would do it in house or in some expensive cloud where they might vary the resources they use depending on the traffic they get
Me: Ohk…so all these big companies use AWS/GCP/Azure to host their sites/softwates
Pretty much, a big advantage with cloud, apart from choosing the scalability and resources you want
Is the locations, a server closer to your customers means faster load times. A global company would like to spread their workload to different servers across the world and that could be very expensive/impossible for medium size companies so cloud can do that for a nominal fee
When your business is tech, at that size I think they should be doing it in house or AWS/similar at the most, likely a hybrid of both
Me: Makes much more sense now
Thanks to my dearest friend, Firas; This is a real conversation that happened between me and my friend today(on WhatsApp)
The purpose of publishing this on the internet is to document these learnings and sharing these insights which usually are acheived after a considerable amount of time in the Industry
Find my website
Until next time, peace✌️
Finally. If you enjoyed the issue (or missed the newsletter) do reply. It's motivating.
See you next Monday — Husam
Enjoy the newsletter? Please forward to a pal. It only takes 10 seconds. Making this one took 2 peeps conversing on WhatsApp.
New round here? Join the newsletter (it's free).
Reply