{"id":19608164,"url":"https://github.com/djdyer/progress-edit","last_synced_at":"2026-04-02T18:52:54.037Z","repository":{"id":119620125,"uuid":"446500146","full_name":"djdyer/progress-edit","owner":"djdyer","description":"Progress Edit is not your average text editor. Not only can it run in the browser, but it can also be downloaded as a PWA, with a number of data persistence measures in case connectivity is lost. 🔌","archived":false,"fork":false,"pushed_at":"2022-01-20T17:27:14.000Z","size":3185,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-25T22:02:44.910Z","etag":null,"topics":["babel","express","indexeddb","node","pwa","webpack"],"latest_commit_sha":null,"homepage":"https://progress-edit.herokuapp.com/","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/djdyer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-01-10T16:31:45.000Z","updated_at":"2022-04-11T18:05:28.000Z","dependencies_parsed_at":"2023-12-29T06:17:18.644Z","dependency_job_id":null,"html_url":"https://github.com/djdyer/progress-edit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/djdyer/progress-edit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djdyer%2Fprogress-edit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djdyer%2Fprogress-edit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djdyer%2Fprogress-edit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djdyer%2Fprogress-edit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djdyer","download_url":"https://codeload.github.com/djdyer/progress-edit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djdyer%2Fprogress-edit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261960491,"owners_count":23236570,"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":["babel","express","indexeddb","node","pwa","webpack"],"created_at":"2024-11-11T10:14:30.857Z","updated_at":"2025-12-30T22:24:09.609Z","avatar_url":"https://github.com/djdyer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# progress-edit\n\n\u003cimg src=\"./client/src/images/logo.png\" width = \"250\"\u003e\n\n## Table of Contents\n\n- [Description](#description)\n- [User Story](#user-story)\n- [Installation](#installation)\n- [Deployment](#deployment)\n- [License](#license)\n- [Demo](#demo)\n- [Criteria](#criteria)\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Description\n\nProgress Edit is not only a text editor that runs in the browser, but it is also a Progressive Web App with a number of data persistence measures serving as redundancy in case one of the options is not supported by the browser, or online connectivity is lost. The app uses the `idb` package methods to get and store data to an IndexedDB database.\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## User Story\n\n```\nAS A developer\nI WANT to create notes or code snippets with or without an internet connection\nSO THAT I can reliably retrieve them for later use\n```\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Installation\n\n⬇️\n\nMust first initialize with the following commands:\n\n```\nnpm i\n\nnpm run build\n```\n\n\u003cbr /\u003e\n\nApplication will then run in the command-line with:\n\n```\nnpm run dev\n```\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Deployment\n\n[\u003cimg src=\"./assets/images/heroku.png\" height=\"80px\"\u003e](https://progress-edit.herokuapp.com/)\n\n\u003cbr /\u003e\n\n**Employing the following technology:**\n\n[\u003cimg src=\"./assets/images/node.svg\" height=\"20px\"\u003e](https://nodejs.org/en/) [\u003cimg src=\"./assets/images/express.svg\" height=\"20px\"\u003e](https://www.npmjs.com/package/express) [\u003cimg src=\"./assets/images/webpack.svg\" height=\"20px\"\u003e](https://webpack.js.org/)  \n[\u003cimg src=\"./assets/images/indexeddb.svg\" height=\"20px\"\u003e](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API) [\u003cimg src=\"./assets/images/babel.svg\" height=\"20px\"\u003e](https://babeljs.io/)\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## License\n\nCopyright (c) David Dyer [2022]\n\n[\u003cimg src=\"./assets/images/isc.svg\" height=\"20px\"\u003e](https://choosealicense.com/licenses/isc/)\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Demo\n\n[![](assets/demo/youtube.png)](https://youtu.be/XG3Ww3qS-2s)\n\n\u003cbr /\u003e\n\n\u003cimg src=\"./assets/demo/Prog_Edit_Screenshot.png\" width = \"600\"\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n## Criteria\n\n✅\n\n```\nwhen opening app in editor, user presented with client-server folder structure.\n\ncommanding `npm run dev` from root directory starts backend and serves client.\n\nrunning app from terminal will bundle js files using webpack.\n\nwebpack plugins generate html file, service worker, and manifest file.\n\nwith next-gen js applied, app still functions in browser with no error.\n\nwhen opening text editor, idb immediately creates database storage.\n\nuser enters content and clicks off dom window, content is saved with idb.\n\nreopening app after closing, will display content retrieved from idb.\n\nclicking install button will download app as an icon on user desktop.\n\nloaded web app will have registered service worker using workbox.\n\nafter service worker registration, user has static assets pre-cached upon loading.\n\ndeploying to heroku has proper build scripts for webpack.\n\n```\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\nLet's build something!\n\n🛠️\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjdyer%2Fprogress-edit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjdyer%2Fprogress-edit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjdyer%2Fprogress-edit/lists"}