Persistent Spreadsheet Application with Atomic JSON Storage | Docker | Node.js | CSV Import/Export

Опубликовано: 21 Май 2026
на канале: gpp-tasks
11
0

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