Backend:
- Node.js Streams vs Buffer: For large files, I would use Steams. For this assignment's scope reading file via multer and processing line-by-line is sufficient and cleaner to implement.
- Prisma ORM: For type safety and ease of aggregation.
- Postgres: Ideal for seismic data.
- Multer: Middleware for handling form-data, essential for file uploads.
- Prisma Client: For simplifying database interaction.
Frontend
- Tailwind CSS: For easy styling.
- lucide-react: For interactive icons.