Discussion Locked

Advice for web application technologies / architecture

0 helpful
10 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.

I decided to start to learn web programming and as a first serious project I want to build a stocks/cryptography portfolio, where user sign in and add their holdings of specific stocks/coins. Users can see the current evaluation of their portfolio, or inspect various types of charts. I would like to host my app in the cloud, so that everyone on the internet can access it. Such sites(with lots of other features) are coinmarketcap.com or coingecko.com .

I have no idea what technologies to use, I know there are plenty of options, so that makes it very difficult for me to make a choice. I would like to use modern but popular technologies, which ideally are relatively easy to learn. I googled for an hour or so, and these technologies were mentioned:

- Google Cloud Platform: Google Cloud Run, Firebase (+ Firebase Realtime Database, Firebase Realtime
Database, Firebase authentication)
- All kind of products from AWS
- Docker, Kubernetes
- Angular, React
- NodeJS, Express
- Python(for backend)

I'd prefer Google Cloud products over their AWS alternatives. I have some experience with Angular, Docker, Kubernetes, NodeJS + Express, and Python. I have no experience with GCP or AWS, but I think I'd enjoy learning them.
So, what technologies (from the ones above, or others), would you recommend for my basic project ? The project basically needs cloud hosting, user authentication and database storage.

Thanks for your time :)

10 replies

by rproffitt

Because you are just beginning you need to proceed with much smaller bites into the developer "stack." If you were to tackle all these technologies at once you would burn out far too fast.

Also I don't see any mention about your site security. That is often missing when I review a new site. That is, the web master stored the passwords in the database (big no-no.)

Pick any of those and then take some tutorials or classes. Eventually you'll get there. Worth noting, I'm finding some think this is something you start on Monday and your site is complete by Friday.

by cpper

Thanks for your reply :)
I'm not completely new to web stuff, as said I had previously worked with Angular, Docker, Kubernetes, NodeJS + Express + FeathersJS, MongoDB,, and Python, but on small, individual projects. So I believe I'm not starting exactly from scratch.
I want my project to have all the features I mentioned, and I am willing to learn the best technologies needed to develop it. But not all at once, I'm not in a hurry. It's completely fine with me if achieving my goals will take an year or more.
I mentioned all those technologies, but I'm not sure how they fit together. For example, I'm not sure that if choosing to work with Google Cloud products, I still can/should use Docker or Kuberntes. Or, if I still can/should use a Python backend in this case. I'll definitely do some more research.

I didn't mention security because honestly I have no clue about security in web development. I don't doubt it's a very important thing to get right.

by rproffitt

You asked for the best but that's going to lead us to the Nirvana Fallacy. There's not enough in your writings and maybe never enough written to determine "best."

What's best most of the time is a compromise area that exists where the webmaster/authors have expertise and the cost to implement and run the system.

For example a long time ago, Oracle might have been the best but it would cost you on a per user basis for the license which you had to pay monthly or yearly depending on the deal you cut. Today folk have options that don't involve that company but then again, if you find your CEO asking for the best you know to watch out because they just began a long process of detailing out how to determine best.

by rproffitt

Are developers that are looking for what might be called "the one true path" to their app, website or product. They do not want to try this or that. This rarely happens to work out. Here's why.

Imagine that you are going to write a novel. You are given a typewriter and not allowed to erase or discard any page you type.

That's the extreme example of the one true path view on development.

It's OK to explore more than one solution. Always has been.

by cpper

"Best" wasn't very clear. I should have said "most suited for my project". But I totally get what you mean, that is good advice. I'll firstly start looking into GCP and what it offers.
Once again, thanks for your time, you've been very helpful.

by deborasumopayroll

Google Cloud Platform: Google Cloud Run, Firebase (+ Firebase Realtime Database, Firebase Realtime Database, Firebase authentication)
All kind of products from AWS
Docker, Kubernetes
Angular, React
NodeJS, Express
Python(for backend)
I'd prefer Google Cloud products over their AWS alternatives. I have some experience with Angular, Docker, Kubernetes, NodeJS + Express, and Python. I have no experience with GCP or AWS, but I think I'd enjoy learning them. So, what technologies (from the ones above, or others), would you recommend for my basic project ? The project basically needs cloud hosting, user authentication and database storage.

by adbreakpt3

Hi!
Hope you're doing great.
From your post it seems like you are trying to build a crypto project at first. I think a best advice you can get on this topic from a developer who already worked on some similar projects because He/She can helps you better in choosing technologies. You can search about these developers on different developer forums like
1) https://github.com/ 2) https://stackoverflow.com/ 3)https://nextideatech.com/

Thanks

This discussion is closed to new replies.