{"id":19647604,"url":"https://github.com/fklc/s3-gallery-expo","last_synced_at":"2025-07-20T09:06:48.016Z","repository":{"id":211519945,"uuid":"729371480","full_name":"FKLC/s3-gallery-expo","owner":"FKLC","description":"Backup your gallery to any S3 compatible storage provider","archived":false,"fork":false,"pushed_at":"2023-12-09T03:17:26.000Z","size":203,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-09T22:19:46.818Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/FKLC.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}},"created_at":"2023-12-09T03:03:10.000Z","updated_at":"2023-12-09T03:15:44.000Z","dependencies_parsed_at":"2023-12-09T04:23:18.356Z","dependency_job_id":"cee8fabc-6865-446d-b074-c75a8b43c47d","html_url":"https://github.com/FKLC/s3-gallery-expo","commit_stats":null,"previous_names":["fklc/s3-gallery-expo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FKLC%2Fs3-gallery-expo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FKLC%2Fs3-gallery-expo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FKLC%2Fs3-gallery-expo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FKLC%2Fs3-gallery-expo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FKLC","download_url":"https://codeload.github.com/FKLC/s3-gallery-expo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240954553,"owners_count":19884197,"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":[],"created_at":"2024-11-11T14:44:36.093Z","updated_at":"2025-02-27T00:22:21.750Z","avatar_url":"https://github.com/FKLC.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# S3 Gallery Expo\nThis is a React Native / Expo app that allows you to upload your photos to any S3 compatible storage provider. The app works, but the codebase turned out to be a huge mess. I failed implementing proper state management and ended up with a spaghetti code. So, I gave up on this project as I will never release this app. Just publishing it for the others to use.\n\n### Implementation\n1. First you enter your bucket information. Your config has to be a valid [S3ClientConfig](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-s3/Interface/S3ClientConfig/) e.g. `new S3Client(\u003cYOUR CONFIG WILL BE USED HERE\u003e)`. The app comes with a client config generator for Cloudflare R2.\n1. You select the album you want to backup.\n1. Click on sync button at the top of the page, and select your target bucket.\n1. The app will start uploading your photos while the app is open. I thought about implementing background tasks, but I gave up on this project as a whole.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffklc%2Fs3-gallery-expo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffklc%2Fs3-gallery-expo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffklc%2Fs3-gallery-expo/lists"}