Asatelit Point of Sale (POS) Terminal is a simple browser-based progressive web application (PWA) that designed to help small business owners efficiently manage the day's sales and inventory turns. The app built using common web technologies including HTML, CSS and TypeScript on top of Facebook's React library and doesn't involve a server, all data is stored in IndexedDB.
See live demo here: https://pos.asatelit.com
- Node.js, Yarn, TypeScript, Babel, Prettier — core platform and dev tools
- Jest - unit and snapshot testing
- Node.js v12 or higher + Yarn package manager
- Optionally VS Code editor with Project Snippets, EditorConfig, ESLint, and Prettier plug-ins.
Just clone the repo, install the packages with yarn
and run yarn start
:
$ git clone https://github.com/Asatelit/pwa-pos-terminal.git
$ cd pwa-pos-terminal # Change current directory to the newly created one
$ yarn install # Install Node.js dependencies
$ yarn start # Launch application.
Now you can open your web app in a browser and start hacking. Whenever you modify any of the source files inside the /src folder, the module bundler (Webpack) will recompile the app on the fly and refresh all the connected browsers.
Note that the npm start command launches the app in development mode, the compiled output files are not optimized and minimized in this case.
If you need just to build the app (without running a dev server), simply run:
$ npm run build
This command builds the app for production to the build folder. It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes. By default, it also includes a service worker so that your app loads from local cache on future visits.
Your app is ready to be deployed.