{"id":24092793,"url":"https://github.com/weknowinc/vulcan-s3-files-aws-sdk","last_synced_at":"2025-10-09T03:08:37.825Z","repository":{"id":129293735,"uuid":"183676426","full_name":"weknowinc/vulcan-s3-files-aws-sdk","owner":"weknowinc","description":"Alternative to upload images to amazon s3, based on Vulcan Files implmenting the library aws-sdk","archived":false,"fork":false,"pushed_at":"2019-04-27T00:21:20.000Z","size":377,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-09T03:08:22.939Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weknowinc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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,"publiccode":null,"codemeta":null}},"created_at":"2019-04-26T18:28:35.000Z","updated_at":"2019-08-10T00:07:39.000Z","dependencies_parsed_at":"2023-07-14T23:30:22.314Z","dependency_job_id":null,"html_url":"https://github.com/weknowinc/vulcan-s3-files-aws-sdk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/weknowinc/vulcan-s3-files-aws-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weknowinc%2Fvulcan-s3-files-aws-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weknowinc%2Fvulcan-s3-files-aws-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weknowinc%2Fvulcan-s3-files-aws-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weknowinc%2Fvulcan-s3-files-aws-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weknowinc","download_url":"https://codeload.github.com/weknowinc/vulcan-s3-files-aws-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weknowinc%2Fvulcan-s3-files-aws-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000774,"owners_count":26082911,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-01-10T08:50:03.228Z","updated_at":"2025-10-09T03:08:37.820Z","avatar_url":"https://github.com/weknowinc.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vulcan S3 Files Example\n\nThis is an alternative to upload images to amazon s3, based on [Vulcan Files](https://github.com/OrigenStudio/vulcan-files) implmenting the library [aws-sdk](https://www.npmjs.com/package/aws-sdk)\n\nThe Vulcan Files project is outdated with the current version of Vulcan.js and is not currently working.\n\n## Quick Install\n\nIf you already have Meteor up and running, read this section. Otherwise, read the [Complete Install](https://github.com/VulcanJS/Vulcan-Starter#complete-install) section of Vulcan Starter docs.\n\n#### Step 1 - Clone\n\n```\ngit clone git@github.com:harold20/example-vulcan-s3-files.git\ncd example-vulcan-s3-files\n```\n\n(or, using `https`: `git clone https://github.com/harold20/example-vulcan-s3-files.git`)\n\n#### AWS Credentials\nBefore starting to run the project, you must have a settings file in `.deploy/settings.dev.json` with the following infomation:\n\n```\n{\n  \"amazonAWSS3\": {\n    \"mainBucket\": {\n      \"client\": {\n        \"key\": \"*************\",\n        \"secret\": \"************\",\n        \"region\": \"************\",\n        \"bucket\": \"************\"\n      }\n    }\n  }\n}\n```\n\n#### Step 2 – Run\n```\nmeteor npm install\nmeteor npm start\n```\n\n## How works\n\nIn order to create this implementation function, I have to introduce some changes listed below.\n\n* Implemented the library [aws-sdk](https://www.npmjs.com/package/aws-sdk) that enable us to upload files easily, in a collection to save files/images. [See implementation](https://github.com/harold20/example-vulcan-s3-files/blob/master/packages/vulcan-s3-files/lib/modules/singlePic/FSCollection.js#L25)\n* Used the `react-dropzone@8.2.0` version.\n* Used the `react-apollo` on client to make a query if the item is being edited because the fragment doesn't work on editForm [Vulcan Issue](https://github.com/VulcanJS/Vulcan/issues/2277). [See implementation](https://github.com/harold20/example-vulcan-s3-files/blob/master/packages/vulcan-s3-files/lib/components/Uploadcomponent/Upload.jsx#L229)\n* Implemented a callback/listener to s3 files/images collection to delete an imagen when the item is being deleted. [See implementation](https://github.com/harold20/example-vulcan-s3-files/blob/master/packages/vulcan-s3-files/lib/modules/callbacks.js)\n* Create a FSCollection that implements a collection of `meteor/ostrio:files` to storage the files. [See implementation](https://github.com/harold20/example-vulcan-s3-files/blob/master/packages/vulcan-s3-files/lib/modules/singlePic/FSCollection.js)\n* Create a service that has the methods to upload and delete files when the item is being created or updated. [See implementation](https://github.com/harold20/example-vulcan-s3-files/blob/master/packages/vulcan-s3-files/lib/utils/s3Service.js)\n* Define the schema that contains the upload with the options property that contains a object with Collection Name, FS Collection and the collection where the document is stored. [See implementation](https://github.com/harold20/example-vulcan-s3-files/blob/master/packages/vulcan-s3-files/lib/modules/singlePic/schema.js#L53)\n* Refactor the upload component to work properly.[See implementation](https://github.com/harold20/example-vulcan-s3-files/blob/master/packages/vulcan-s3-files/lib/components/Uploadcomponent/Upload.jsx)\n\n### Next steps\n* Figure out how resolve a field as an array.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweknowinc%2Fvulcan-s3-files-aws-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweknowinc%2Fvulcan-s3-files-aws-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweknowinc%2Fvulcan-s3-files-aws-sdk/lists"}