Hello,
The company I work for is a national franchisor of about 100 retail stores across Canada. We currently use proprietary, firmware based point of sale hardware that costs us thousands of dollars per store and still doesn't work properly. So, we're looking for alternatives.
We currently use RoR for our back-office pricing management. I like the idea of using RoR for our POS front-end as well. I've been searching for a Rails POS app online. It looks like various people are writing POS apps, but I'm certainly not seeing anything like “gem insall pos”!
One of the options on the table is to build our POS system from the ground up. There are plenty of options when it comes to open POS hardware (basically, a single unit that integrates low end computer, touch screen, printer, cash drawer connection, and USB ports for a barcode scanner).
But, I have mixed feelings about attempting to write our own POS software. We're not looking to become a software development firm. I do the current Rails programming in house, but I'm no expert and this would need to provide enterprise reliability.
One other twist is that the stores can't be without their POS even when their Internet connection goes down, which it will on occasion.
My thoughts on how it could work: - Have each location be running a local copy of the app on top of a single Mongrel server. That way, its not dependent on the Internet connection.
- Item pricing, etc. would be pushed down to the store via mysql master/slave replication. As far as I can tell, this would accommodate the occasional interruptions in connectivity (but again, I've never set up replication – I'm just going off of what I've read).
- Sales data would be pushed back to the main database here at head office from each location periodically via a backgroundrb worker.
- The app would be fully ajaxed and would need to provide very quick response since we're dealing with quick service retail (coffee shops and convenience stores)
- The item and sub-menu buttons would need to be configurable by store, since each store has different needs.
- I really like the idea of being able to upgrade all 100 stores overnight just by doing “cap deploy”!
- Would need to be able to integrate with the printer, cash drawer trigger, and poll display. Let's hope that those all have Linux drivers. That would be one of the requirements as we source the hardware. (The barcode scanner is simple to integrate since we'd just set it up to mimic keyboard input.)
So, my questions are: - Is this a bad idea? I'm looking for some expert input. Could a system like this deliver enterprise reliability and speed?
- Our company would be interested in financially supporting an open source POS gem or plugin. But we've never done anything like that before. Where do we start? How do we embrace the open development pattern while making sure that the features we need are included?
Your input is appreciated.
Sincerely,
Scott Ward