Persistent Spreadsheet Application with Atomic JSON Storage | Docker | Node.js | CSV Import/Export
This video demonstrates my backend project Persistent Spreadsheet Application with Atomic JSON Storage and CSV Import/Export.
The application is built using Node.js and Express and is fully containerized using Docker. It provides REST APIs to store spreadsheet data, import CSV files, export spreadsheet data as CSV, and evaluate formulas during export. Spreadsheet state is persisted using atomic JSON file writes, ensuring that data integrity is maintained even if a write operation fails.
The project also uses Docker volumes to store sheet data, allowing data to persist across container restarts.
KEY FEATURES
• Save spreadsheet state as JSON files
• Load spreadsheet state using REST API
• CSV import to update spreadsheet cells
• CSV export with evaluated arithmetic formulas
• Atomic file write mechanism for data safety
• Docker containerization with persistent storage
• Health check endpoint for container monitoring
TECH STACK
Node.js
Express.js
Docker
Docker Compose
Filesystem JSON Storage
API ENDPOINTS DEMONSTRATED
PUT /api/sheets/:sheetId/state
Save spreadsheet state
GET /api/sheets/:sheetId/state
Load spreadsheet state
POST /api/sheets/:sheetId/import
Import CSV file
GET /api/sheets/:sheetId/export
Export spreadsheet as CSV with evaluated formulas
GET /health
Application health check
PROJECT WORKFLOW SHOWN IN VIDEO
Running the application using Docker Compose
Saving spreadsheet state using API
Viewing JSON data stored in persistent storage
Loading spreadsheet state from API
Importing spreadsheet data from CSV file
Exporting spreadsheet with evaluated formulas
Restarting container and verifying data persistence
GitHub Repository
https://github.com/gowthusaidatta/Persiste...
TAGS
#NodeJS #ExpressJS #Docker #BackendDevelopment #RESTAPI #CSV #JSON #SoftwareEngineering #FullStackDevelopment #Programming