{"id":24554166,"url":"https://github.com/brockaltug/pwa-text-editor","last_synced_at":"2026-04-11T17:01:57.018Z","repository":{"id":272684294,"uuid":"917426327","full_name":"BrockAltug/pwa-text-editor","owner":"BrockAltug","description":"JATE - Just Another Text Editor 📝  Progressive Web Application (PWA) text editor that works online and offline. It features IndexedDB for data persistence, a service worker for caching, and Webpack for bundling. Installable as a PWA for a seamless and responsive user experience.","archived":false,"fork":false,"pushed_at":"2025-01-16T02:50:31.000Z","size":2589,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T15:15:41.237Z","etag":null,"topics":["babel","es6-javascript","expressjs","indexeddb","installation","nodejs","offline-capable","pwa","service-worker","webpack","workbox"],"latest_commit_sha":null,"homepage":"https://pwa-text-editor-ewu6.onrender.com","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/BrockAltug.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}},"created_at":"2025-01-16T00:44:23.000Z","updated_at":"2025-01-16T02:50:32.000Z","dependencies_parsed_at":"2025-01-16T01:55:57.708Z","dependency_job_id":"70ddefcb-8813-4c46-81b5-c7bba02a3454","html_url":"https://github.com/BrockAltug/pwa-text-editor","commit_stats":null,"previous_names":["brockaltug/pwa-text-editor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BrockAltug/pwa-text-editor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fpwa-text-editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fpwa-text-editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fpwa-text-editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fpwa-text-editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrockAltug","download_url":"https://codeload.github.com/BrockAltug/pwa-text-editor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fpwa-text-editor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31687881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T13:07:20.380Z","status":"ssl_error","status_checked_at":"2026-04-11T13:06:47.903Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["babel","es6-javascript","expressjs","indexeddb","installation","nodejs","offline-capable","pwa","service-worker","webpack","workbox"],"created_at":"2025-01-23T02:18:04.057Z","updated_at":"2026-04-11T17:01:57.013Z","avatar_url":"https://github.com/BrockAltug.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PWA Text Editor\n\n![Application Screenshot 01](assets/ss01.png)\n![Application Screenshot 02](assets/ss02.png)\n![Application Screenshot 03](assets/ss03.png)\n![Application Screenshot 04](assets/ss04.png)\n![Application Screenshot 04](assets/ss05.png)\n\n---\n\n[View Video Demo](https://drive.google.com/file/d/1UJt9FC_1FVIpmlnB3g5dTb5At97Fd7tQ/view?usp=sharing)\nor\n[Try The App](https://pwa-text-editor-ewu6.onrender.com)\n\n---\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Key Features](#key-features)\n- [Concepts Covered](#concepts-covered)\n- [Installation and Usage](#installation-and-usage)\n  - [Installation](#installation)\n  - [Access the Application](#access-the-application)\n- [Example Usage](#example-usage)\n- [Technologies Included](#technologies-included)\n- [Summary](#summary)\n\n---\n\n## Overview\n\nJATE (Just Another Text Editor) is a Progressive Web Application (PWA) that allows users to create notes or code snippets with or without an internet connection. It utilizes modern web development practices such as IndexedDB for data persistence, a service worker for offline functionality, and Webpack for bundling. The application can also be installed as a PWA, providing a seamless and responsive user experience.\n\n---\n\n## Key Features\n\n1. **Data Persistence with IndexedDB**:\n\n   - Saves and retrieves content from IndexedDB for offline usage.\n   - Automatically saves content when the browser window is unfocused.\n\n2. **Offline Functionality**:\n\n   - Fully functional without an internet connection using a service worker and caching strategies.\n\n3. **PWA Installation**:\n\n   - Includes an \"Install\" button to add the application to your desktop or mobile home screen.\n\n4. **Bundled with Webpack**:\n\n   - Generates optimized JavaScript, CSS, and static files for efficient loading.\n\n5. **Modern JavaScript Support**:\n\n   - Uses Babel to transpile ES6+ features for cross-browser compatibility.\n\n6. **Custom Service Worker**:\n\n   - Caches static assets and pages for faster loading and offline support.\n\n7. **Manifest Integration**:\n   - Provides a `manifest.json` for configuring PWA behavior.\n\n---\n\n## Concepts Covered\n\n- Progressive Web Applications (PWA)\n- IndexedDB with the `idb` package\n- Service workers for caching and offline functionality\n- Webpack bundling with plugins for HTML, PWA manifests, and service workers\n- Modern JavaScript development with Babel\n\n---\n\n## Installation and Usage\n\n### Installation\n\n1. Install dependencies for the project:\n\n   ```bash\n   npm install\n   ```\n\n2. Build the client-side files:\n\n   ```bash\n   npm run build\n   ```\n\n3. Start the application:\n   ```bash\n   npm start\n   ```\n\n### Access the Application\n\n1. Open your browser and navigate to:\n\n   ```\n   http://localhost:3000\n   ```\n\n2. Use the text editor to enter content. It will be saved automatically.\n\n3. Test offline functionality by turning off your internet connection and refreshing the page.\n\n4. Click the \"Install\" button to add the app to your home screen or desktop.\n\n---\n\n## Example Usage\n\n1. Enter notes or code snippets in the text editor.\n2. Close and reopen the browser or refresh the page to confirm data persistence.\n3. Test the install functionality by adding the app to your device.\n\n---\n\n## Technologies Included\n\n- **Frontend**:\n  - HTML, CSS\n  - JavaScript (ES6+)\n  - IndexedDB (`idb` package)\n  - Service workers (via Workbox)\n- **Bundling**:\n  - Webpack\n  - Babel\n- **Backend**:\n  - Node.js\n  - Express.js\n\n---\n\n## Summary\n\nJATE demonstrates the implementation of a Progressive Web Application with offline functionality, IndexedDB integration, and modern web development practices. It serves as a great example of how to create a responsive and installable web application.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrockaltug%2Fpwa-text-editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrockaltug%2Fpwa-text-editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrockaltug%2Fpwa-text-editor/lists"}