Win a copy of Succeeding with AI this week in the Artificial Intelligence and Machine Learning forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Liutauras Vilda
  • Junilu Lacar
  • Tim Cooke
  • Jeanne Boyarsky
  • Knute Snortum
Saloon Keepers:
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
  • Piet Souris
  • salvin francis
  • fred rosenberger
  • Frits Walraven

What tech I should use for a web SaaS?

Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have identified a problem and want to build a web SaaS to solve it.

For now I am using Spring Boot (because I am Java developer) for backend and Angular 9 for front-end. Also I am using MySQL for database. For now I have implemented login with JWT authentication and a scheduled job which retrieves (via web-service) like 13 000 products (total size of 600 MB because of pictures). And I have implemented product listing with pagination in Angular.

But recently I have come across some scenarios which has given me some doubts over the technologies I have chosen. So maybe I can get some recommendation or advice on the following scenarios:

Scenario 1: Two times a day I have to retrieve 13 000 products from a certain storage and it's size is 600 MB for one time. And since I run it twice it will make 1.2 GB of storage. Doesnt it fill up server storage space very fast? I would like to add that it will run every day. So every day storage is filled with 1.2 GB of data. And also, I am speaking of only storage where I get info from. There will be at least 5 storages where I will retrieve products and this will eat the space even more. I mention again that the enormous size comes because I have to download the pictures and not use picture URL (It is a requirement). Any ideas how to solve such problem? Should I use some cloud based storage?

Scenario 2: We also need to keep up to date information about the products. By that I mean if user adds product to cart, then it immidiately applies to all other users as well. This requirement must be real-time. Is it wise to implement this with MySQL and Spring Webworkers for example? Or maybe there is a better solution for this.

Scenario 3: Certainly one of our needs is real time notifications (for example notification that user has e-mail).

Scenario 4: Payments/Subscriptions are part of our application

Scenario 5: Ability to generate PDF files

Scenario 6: Authentication (in addition to my own implementation of JWT) there should be social authentication (Google for example)

Scenario 7: Like in any other normal application, we need to keep backups of user information. For example each user has it's own products.

Scenario 8: We also need to implement role system which is connected to subscription. Based on subscription type, user gets a certain role and is able to access certain features. I think Spring Security has good API for that. But maybe there is something better out there?

I would like to mention that the system we are building is an e-commerce application. Inventory management system to be exact.

I have heard that there are technologies like Firebase which is cloud base. And it has some nice out of the box features, but I am not certain if it may fit to our situation. Also, I am pretty sure that as the application scales, so will the pricing. And as far as I am concerned, the pricing in cloud is pretty expensive. We have a team of 2 people.

Certainly there are more scenarios (like filtering data and displaying the cheapest products before the expensive one), but I think I have named one of the main scenarios.

Anyway, maybe I can get some advice on this matter.
Live ordinary life in an extraordinary way. Details embedded in this tiny ad:
Two software engineers solve most of the world's problems in one K&R sized book
    Bookmark Topic Watch Topic
  • New Topic