The Split Import
The supplier directory imports small spreadsheets correctly, but some larger exports are rejected even though they open normally in a spreadsheet app. Retrying the same file does not help. The team needs every contact and its notes preserved, not skipped.
The bug report
You get the whole project — a React front end, an Express API, and Mongoose models — opened in a browser editor. Reproduce the symptom by reading the code, change what’s wrong, and run the hidden tests to prove it.
What the fix must prove
- imports ordinary contacts and quoted commas
- preserves complete records containing multiline quoted notes
- updates existing contacts without duplicating them
- rejects invalid rows before writing any contacts
- rejects an empty upload with a useful message