https://github.com/btarg/aws-upload
https://github.com/btarg/aws-upload
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/btarg/aws-upload
- Owner: btarg
- Created: 2024-05-16T23:33:09.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-16T14:33:46.000Z (about 2 years ago)
- Last Synced: 2025-12-19T15:58:08.854Z (7 months ago)
- Language: JavaScript
- Size: 747 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# File Uploading Service
This service acts as a simplified pay-as-you-go alternative to Google Drive / OneDrive / Dropbox etc.
## Tech Stack
- **Frontend**: The frontend is built with Vue.js and Vite. We use Pinia for state management and Tailwind CSS for styling.
- **Backend**: The backend is built with Express.js.
- **Database**: We use PostgreSQL for our database. It stores user data and file data: users have a UUID and their public OAuth ID (Discord account ID) as well as a subscription plan identifier. For encrypted files, we currently store the IV in the database, but not the key.
- **File Uploads**: File uploads are handled with lib-storage and the AWS S3 client v3. We request upload URLs from Backblaze B2 and allow the user to upload multipart files to it.
- **File Downloads** We allow for the user to encrypt files entirely in the browser, and file decryption is also done client-side. We request a temporary signed download URL from B2 and cache the association between that URL and the file's ID in memory.
- **Payments**: We have plans to integrate Stripe for payments.