Skip to content
This repository has been archived by the owner on Sep 28, 2023. It is now read-only.
/ SwiftSheet Public archive

Upload a CSV to share an online spreadsheet or mock API endpoint that auto-deletes after expiration. No user account needed.

License

Notifications You must be signed in to change notification settings

Alek-S/SwiftSheet

Repository files navigation

SwiftSheet

Build Status codecov Maintainability styled with prettier

logo

About

Have a CSV you want to quickly share without an account, or quickly mock an API (REST / GraphQL)? We got you.

Drag and drop to upload a CSV, and set how long until it expires, (ex: expire in 1hour or expire in 5 days), and optional password protection.

After upload, you get a sharable minified link to the sheet that others can view online an interactive and filterable spreadsheet, likewise with no account needed. Once sheet expires, the sheet is automatically deleted and the link is no longer valid.

Additionally API endpoints are also temporarily created as both REST and GraphQL for quickly mocking an API off of a CSV file.

File Structure

  • 📁 frontend
    • 📁 components -- Individual UI components used by pages
    • 📁 pages -- full pages react-router can route to, composed of components
    • 📁 utils
  • 📁 backend
    • 📁 controller -- express routes for REST APIs
    • 📁 graphql
      • 📁 resolver -- functions for how to get or mutate data
      • 📁 schema -- GraphQL API Schema (Queries, Mutations)
    • 📁 model -- data model for use by Mongooose with MongoDB
  • 📁 shared -- shared between front and back code
  • 📁 test -- jest configs

Technology Used

Front

  • React 16.8 (the one with hooks)
  • React Router
  • Apollo (GraphQL)
  • AG-Grid
  • Styled Components
  • Jest (Unit Testing - Precommit Hooks)
  • Prettier (Via Precommit Hooks)
  • Pako (zlib deflate)
  • Date-FNS
  • Babel
  • Webpack

Back

  • Node
  • Express-GraphQL
  • Mongoose
  • MongoDB
  • Pako (zlib inflate)
  • Prettier

Deployment + Tools

  • Ubuntu Linux VPS
  • PM2
  • NGINX
  • CloudFlare CDN
  • Sentry.io (Client-Side Error Reporting)
  • Code Climate (Code Quality & Maintainability analysis)
  • Snyk (package vulnerability detection)
  • Travis CI (used to run unit tests before merging PR - not used to deploy)

About

Upload a CSV to share an online spreadsheet or mock API endpoint that auto-deletes after expiration. No user account needed.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages