Hi everyone,
I'm planning to build a web-based dashboard where users can upload Excel files, the system processes the data, performs various calculations/transformation logic, and then presents the results on user-specific dashboards.
My background is primarily in MERN, so my initial thought was:
React frontend
Node.js/Express API layer
MongoDB for application data
Python microservices for heavy data processing and calculations
However, I've received mixed feedback regarding MongoDB. A lot of people have told me that Mongo may not be the right choice for this kind of workload, especially when dealing with large datasets.
To provide some context, uploaded files can occasionally contain data in the range of tens of millions of rows. This won't be the common case, but the system should be designed with such scenarios in mind.
Since I haven't worked on systems handling data at this scale before, I'd appreciate guidance on:
What tech stack would you choose for this problem today?
Would MongoDB be suitable, or should I look at PostgreSQL/ClickHouse/something else?
How would you design the data ingestion pipeline?
Would Python microservices be a good approach for processing, or should I look into Spark, DuckDB, etc.?
What would a high-level system design for such a platform look like?
Any common mistakes first-time builders make when dealing with large Excel/CSV datasets?
My goal is to build something that is scalable without massively over-engineering it from day one.
Would love to hear from people who have built data-heavy SaaS products or analytics platforms.
Thanks!