{"id":15011769,"url":"https://github.com/breuerfelix/serverless-todo","last_synced_at":"2025-07-04T12:07:16.722Z","repository":{"id":225214292,"uuid":"765370096","full_name":"breuerfelix/serverless-todo","owner":"breuerfelix","description":"Using S3 from the browser to store data securely without a backend","archived":false,"fork":false,"pushed_at":"2025-07-01T03:36:12.000Z","size":3145,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-01T04:30:54.908Z","etag":null,"topics":["preact","s3","serverless","todo"],"latest_commit_sha":null,"homepage":"https://breuer.dev/serverless-todo/","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/breuerfelix.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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-29T19:38:40.000Z","updated_at":"2025-07-01T03:35:58.000Z","dependencies_parsed_at":"2024-03-20T09:27:26.871Z","dependency_job_id":"4a544395-36bd-49bc-a668-07ca9f93e5f0","html_url":"https://github.com/breuerfelix/serverless-todo","commit_stats":null,"previous_names":["breuerfelix/serverless-todo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/breuerfelix/serverless-todo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breuerfelix%2Fserverless-todo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breuerfelix%2Fserverless-todo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breuerfelix%2Fserverless-todo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breuerfelix%2Fserverless-todo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/breuerfelix","download_url":"https://codeload.github.com/breuerfelix/serverless-todo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/breuerfelix%2Fserverless-todo/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263507898,"owners_count":23477406,"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":["preact","s3","serverless","todo"],"created_at":"2024-09-24T19:41:37.598Z","updated_at":"2025-07-04T12:07:16.703Z","avatar_url":"https://github.com/breuerfelix.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# serverless-todo\n\nThis is a small todo application built to showcase direct interaction with AWS S3 from the browser without the need for a backend server. The application allows users to create, update, and delete todo items, with all data stored directly in an S3 bucket.\n\n## Deployment\n\nTo deploy the application, follow these steps:\n\n- Set up a static website host, such as GitHub Pages.\n- Create an S3 bucket to store the todo data.\n  - Use the terraform code in the `infrastructure` folder to create the S3 bucket.\n- Set the necessary environment variables as outlined in the `.env` file.\n  - These environment variables should include your AWS access key ID, secret access key, and the name of the S3 bucket.\n- Protect the site with basic authentication to prevent unauthorized access.\n  - **Note:** Since S3 credentials are baked into the website, it's crucial to ensure that only authorized users can access the site.\n\n## Usage\n\nOnce the application is deployed, users can access the todo application by visiting the hosted URL. They will be prompted to enter the password to decrypt the credentials and load the todo items. From there, they can interact with the todo list as desired.\n\n## Resources\n\n- [AWS S3](https://aws.amazon.com/s3/)\n- [Terraform](https://www.terraform.io/)\n- [GitHub Pages](https://pages.github.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbreuerfelix%2Fserverless-todo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbreuerfelix%2Fserverless-todo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbreuerfelix%2Fserverless-todo/lists"}