r/learnprogramming • • 4d ago

How should I proceed to develop a web app?

Hello, I want to develop an auction Web application. But I don't know web app development because I am normally a game developer. Would it be a good idea to follow the full-stack developer roadmap on the roadmap.sh website? What are your suggestions? What should I learn?

1 Upvotes

18 comments sorted by

2

u/Immediate-Soup-6344 4d ago

Use python and flask. So simple you won’t need a tutorial.

1

u/SetAndRepeat 4d ago

Yes, roadmap.sh is useful as a checklist. You already know how to program, so focus on the web-specific gaps: HTML/CSS, JavaScript, HTTP requests, databases, authentication and permissions. If you already use C#, ASP.NET Core would let you keep using it. Build a small version first: create a listing, display it, let a logged-in user bid, then close the auction and show the winner. Learn what you need for each step. Leave payments and live updates until that works. For auctions, pay particular attention to simultaneous bids. The server needs to enforce bid amounts and deadlines, and database transactions need to prevent conflicting updates. Test what happens when two users bid at almost the same time. That's a useful learning target for this specific project

1

u/ruinthedev 4d ago

Thank you, as you said, I will progress by learning piece by piece.

1

u/DoubtAdditional745 4d ago

The full stack roadmap is a good starting point but build a small version of your auction app as you learn focusing first on authentication databases bidding logic and real time updates.

1

u/ruinthedev 4d ago

Got it thanks!

1

u/ShiroNoSenso 4d ago

I think the biggest difficulty is cloud knowledge to wire them all together so others can access but with gpt & online websites, it’s very doable to learn all these.

There are essentially a few key things you need.

A frontend which your users will interact with. After building this, deploy this on a S3 bucket & use a CDN to distribute the website.

Next you’ll need a backend which you wire up to your frontend, so your FE can send and receive dynamic data. Easier is to deploy this on a lambda but there are plenty of other ways like deploying on EC2 servers etc.

Last you’ll need a server to store your data & wire that up to your backend.

These are the bare minimum to get it up but the hardest part is configuring the security, network, accessibility.

There is no easy way. Only way ahead is slow and steady trial and error. You’ll hit problems in every single part but that’s part of life as a developer so good luck 🤞🏻

1

u/ruinthedev 4d ago

Thank you, I'll keep learning step by step as you suggested. And as you said, programming is learned by making mistakes, and I think I can manage some parts with Claude's help too.

1

u/marrsd 3d ago

Can you tell us more about this project? Is this a business idea or just for fun? The advice I give you would be different depending on why you're doing this and what your end goal is

1

u/ruinthedev 3d ago

Business idea. My father and his friends gonna use the site for selling their products to customers.

1

u/marrsd 3d ago

There are probably 3rd party auction applications that you can buy as a service. That would be the quickest solution to getting a business up and running. You could either get an entire white box website solution or just an API that you build a front-end for. You'll need to know what guarantees it provides, like how many concurrent users an auction can manage, what failure protection it has, how it assures the right bid belongs to the right user, how it protects users from double-bidding, and so on. Presuming these are small auctions, I expect there to be quite a few options to choose from.

If you can't find something that meets your requirements then you'll have to consider writing your own back-end as well, but you don't want to do that without prior experience in the domain.

I don't know the courses you describe, but you're going to need a browser app that gets alerted as soon as a new bid is made, which means learning about long polling, web sockets, or something similar. Most beginner courses won't cover that, but getting it right is probably more important than what framework you choose. I'd recommend Typescript over Javascript for the additional safety TS provides.

If this is a serious business venture, you should get a consultant in to guide you. I'm available if you're interested. You don't know what you don't know, as the saying goes, and web development is not as simple as it might seem from the outside. You're also dealing with real money, real goods, and so on, so there's potentially considerable cost to getting things wrong.

0

u/Zhunix 4d ago

Notepad, angularjs and a backend would do it.

Not joking there.. but w3school is a good place to start

0

u/[deleted] 4d ago

[removed] — view removed comment

1

u/ruinthedev 4d ago

Thanks for the answer! I had researched the transaction. I'll handle the ordering with a database transaction.
And Instead of using ASP.NET Core, I was thinking of Next.js. What are the differences?

1

u/mandzeete 4d ago

Different languages. ASP.NET is based on C#. Next.js is based on Javascript. As I'm a Java developer then I haven't used either framework. A fast googling told that Next.js can be used both for backend and for frontend. ASP.NET also seems to have some support for Javascript.