The Just Another Text Editor app is a single-page full-stack text editor application that meets Progressive Web App (PWA) criteria. Additionally, it features a number of data persistence techniques that serve as redundancy in case one of the options is not supported by the browser. The app also functions offline.
Just Another Text Editor app implements methods for getting and storing data to an IndexedDB database using the IndexedDB API (often abbreviated to IDB). The IDB package is a lightweight wrapper around the IndexedDB featuring a number of methods for storing and retrieving data.
The app is deployed to Heroku, with the code available on GitHub
This application uses the following technologies:
Dependencies
Dev dependencies
- @babel/core
- @babel/plugin-transform-runtime,
- @babel/preset-env
- @babel/runtime
- babel-loader
- concurrently
- css-loader
- eslint
- eslint-config-prettier
- html-webpack-plugin
- http-server
- nodemon
- prettier
- style-loader
- webpack
- webpack-cli
- webpack-dev-server
- webpack-pwa-manifest
- workbox-webpack-plugin
Deployment
- Access Just Another Text Editor app via its Heroku url
- See Demo for more detail about using the app.
Just Another Text Editor app provides the following functionality.
- You can create notes or code snippets with or without an internet connection
- The text you enter when the app is online is available when the app goes offline and vice versa
- You can retrieve notes or code snippets which are saved in the browser using the indexDB database
- You can choose to install the app locally (see Demo) or simply continue to use in the browser
To install and run the Just Another Text Editor application code locally,
- Download or clone the code from the GitHub repository
- run
npm run installin the root directory of the project to install dependencies - run
npm run buildin the root directory of the project to build the application - run
npm run startfrom the root directory to start the server - navigate to your browser, and open the app locally with url
localhost:3000
- run
- See the comments in the package.json file for more detail about the scripts to install, build and run the application
- See the Demo section below for more detail about using the app
- Contributions are welcome.
- The code is located in this GitHub repo
- To contribute, open a new issue describing your proposed enhancement or fix.
- Before contributing, browse through open issues to see if your issue already exists or if there is an issue or enhancement you could to solve.
- If you're a newbie dev, start contributing by looking for issues labelled "good first issue"
- It is good practice to set up your project repository as an "upstream" remote and synchronize with the project repository
- Don't update the main branch. Rather create your own branch using a brief descriptive name and make your changes there
- You can create pull requests, but only admins can review and merge.
- Be nice to your reviewer by adding adding a plain English explanation of your pull request and how your updates addresses the issue/s or enhancements
- Also see the GitHub Community Guidelines
TODO - add demo
- Just Another Text Editor (JATE) opened in the browser at deployed Heroku url
- JATE being installed locally, showing manifest window and shortcut.
- Demo of JATE retaining data when switching between on and offline
- Screenshot of indexDB showing data retained when app offline
- Screenshot of JATE's app manifest window
- Screenshot of JATE's service workers window
© 2022 Helen Anderson
This project is licensed under the MIT License.





