{"id":24304260,"url":"https://github.com/exanubes/file-handling-using-s3","last_synced_at":"2026-04-20T02:38:23.519Z","repository":{"id":214793642,"uuid":"682146254","full_name":"exanubes/file-handling-using-s3","owner":"exanubes","description":"This example project serves as an exploration of Amazon Simple Storage Service (S3) capabilities, showcasing an implementation of some key features for developers. The project focuses on various aspects, including upload and download functionalities using signed URLs, bucket versioning, archiving, retrieval, and multipart uploads.","archived":false,"fork":false,"pushed_at":"2024-02-08T19:55:51.000Z","size":919,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-17T01:18:10.823Z","etag":null,"topics":["aws","aws-s3","s3-archive","s3-download","s3-glacier","s3-lifecycle-policy","s3-multipart-upload","s3-uploads","s3-versioning","serverless","signed-urls","sst","sveltekit","turso"],"latest_commit_sha":null,"homepage":"https://exanubes.com/blog/upload-and-download-files-using-signed-urls","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exanubes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-08-23T14:38:20.000Z","updated_at":"2024-12-21T03:27:47.000Z","dependencies_parsed_at":"2024-02-08T20:59:44.060Z","dependency_job_id":null,"html_url":"https://github.com/exanubes/file-handling-using-s3","commit_stats":null,"previous_names":["exanubes/file-handling-using-s3"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exanubes%2Ffile-handling-using-s3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exanubes%2Ffile-handling-using-s3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exanubes%2Ffile-handling-using-s3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exanubes%2Ffile-handling-using-s3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exanubes","download_url":"https://codeload.github.com/exanubes/file-handling-using-s3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242234282,"owners_count":20094160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-s3","s3-archive","s3-download","s3-glacier","s3-lifecycle-policy","s3-multipart-upload","s3-uploads","s3-versioning","serverless","signed-urls","sst","sveltekit","turso"],"created_at":"2025-01-17T01:18:18.885Z","updated_at":"2026-04-20T02:38:18.498Z","avatar_url":"https://github.com/exanubes.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# File handling with s3\n\nThis example project serves as an exploration of Amazon Simple Storage Service (S3) capabilities, showcasing an implementation of some key features for developers. The project focuses on various aspects, including upload and download functionalities using signed URLs, bucket versioning, archiving, retrieval, and multipart uploads.\n\nThe project uses [SST](https://sst.dev) for deploying AWS Resources and [Turso](https://turso.tech) for storing data in a SQLite Database.\nUI is built with [SvelteKit](https://kit.svelte.dev/) but can be easily replaced with a technology of your choosing. [React Form](https://react.email/) is used for\ncomposing a HTML Email.\n\n**TOC:**\n\n1. [Signed URLs for Secure Uploads and Downloads](#signed-urls-for-secure-uploads-and-downloads)\n2. [Bucket Versioning](#bucket-versioning)\n3. [Archiving and Retrieval](#archiving-and-retrieval)\n4. [Multipart Uploads](#multipart-uploads)\n\n## Signed URLs for Secure Uploads and Downloads\n\nDemonstrates the implementation of AWS S3 signed URLs to securely upload and download files. This ensures that only authorized users with the correct credentials can perform these actions.\n\n[🎥 Video](https://youtu.be/1nmJldXxgGY) \u003cbr/\u003e\n[✍️ Article](https://exanubes.com/blog/upload-and-download-files-using-signed-urls)\n\n## Bucket Versioning\n\nIllustrates the benefits of enabling bucket versioning in AWS S3, allowing for the management of different versions of objects within a bucket. This feature enhances data protection and provides a mechanism for easy rollback in case of unintended modifications.\n\n[🎥 Video](https://youtu.be/pS3OD_G7LxQ) \u003cbr/\u003e\n[✍️ Article](https://exanubes.com/blog/versioning-documents-in-amazon-s3)\n\n## Archiving and Retrieval\n\nExplores the archival capabilities of AWS S3, demonstrating how to seamlessly transition objects between storage classes to optimize costs while ensuring efficient data retrieval when needed.\n\n[🎥 Video](https://youtu.be/Bqegwv7DDas) \u003cbr/\u003e\n[✍️ Article](https://exanubes.com/blog/s3-lifecycle-rules-archiving-and-retrieval)\n\n## Multipart Uploads\n\nProvides a detailed guide on leveraging multipart uploads for large file transfers to AWS S3. This feature enhances upload reliability and performance by breaking files into smaller parts, especially useful for handling large datasets.\n\n[🎥 Video](https://youtu.be/U2SVFyU_7Co) \u003cbr/\u003e\n[✍️ Article](https://exanubes.com/blog/s3-multipart-upload-with-signed-urls)\n\n## Getting Started\n\n- Configure AWS credentials using the AWS CLI\n- Install dependencies with `npm install` (assuming Node.js is installed).\n- Deploy infrastructure to aws with `npx sst dev`\n- Launch app with `npm run dev`\n\nFeel free to use and extend this project as a foundation for integrating AWS S3 features into your applications. If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request. Happy coding!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexanubes%2Ffile-handling-using-s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexanubes%2Ffile-handling-using-s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexanubes%2Ffile-handling-using-s3/lists"}