/pmpos3

Point of Sale Application based on distributed networking design principles

Primary LanguageTypeScript

PM-POS 3.0

PM-POS is an experimental POS application created to demonstrate new ideas to solve operational problems on retails, restaurants or similar businesses. Cloud POS systems is a big step forward on POS industry. However most Cloud POS Applications needs good wireless coverage and requires Internet connection to be able to operate. Even though they supports offline usage, few limited operations avaliable while working offline. Permanent server connection requirement leads to serious operational issues for extremely busy locations like tills, bars or kitchens. PM-POS built with distributed networking principles to allow smooth communication between terminals and server. Same principles also works between servers for connecting branches of franchise business.

More Info

Visit https://github.com/emreeren/pmpos3/wiki to have more information about the project.

Demo

https://emreeren.github.io/pmpos3

On first run you need to make few configurations to enable features. You can read Demo Tutorials to have an idea about how PM-POS works.

Demo Tutorials

Development Build

$ git clone https://github.com/emreeren/pmpos3.git
$ cd pmpos3
$ npm install
$ npm run start

Contribution

PM-POS is a point of sale project started by SambaPOS team. Merchants will use PM-POS to manage & operate their businesses. If you are interested you can submit issues, share your ideas or send your PR's.

List of projects we used to build PM-POS

Project Description
y-js CRDT to share card commits with clients
react To create UI Components
redux To manage UI State
immutable-js To make UI State immutable
recharts To add charts to dashboard
nools-ts To build and execute rules
material-ui For mobile UI components
typescript To add type safety to JS
blueimp-tmpl To create string templates
react-virtualized To create virtual lists