We are currently in a proof of concept phase...and it's going great.
What are we aiming for during this phase:
- Get the initial design for the most important parts of the system [POS, Stock and User Access Control]
- Build a version that has no frills and simply works
- Use the build process to decide on potential frameworks and design structures, although these can be changed later if need be
Week in Review
Over the past 2 weeks, we played around with the code for the POC quite a bit, and we have made some progress.
Picking a framework and design structure
We decided to go with WPF as our main framework. Initially, we attempted to pursue a cross-platform framework to allow the system to run on both Windows and Linux. But, after some soul-searching, we decided to be realistic and admit that the majority of first adopters would likely use Windows.
It was decided that we should focus on getting the initial version to 'market' on Windows first and then once requests start coming in we can port it over to Linux as well and build it natively for every platform seeing as cross-platform frameworks generally come with heavy performance penalties
After deciding on WPF, we had to make additional decisions. Initially, it was decided to go full MVVM but after some back and forth on what MVVM framework to implement, we decided to forego the MVVM framework for the initial POC in favor of the whole 'no frills' rule
Point of Sale - Initial Design
We spent some time modeling the point of sale screen and got a decent first version ready. Let's have a look at the initial layout:
Live / active sale functionality
For the active sale functionality, we are going for a live in RAM list of items for the sale which will be written to a temp file for safety should the system crash etc.
In order to effectively build the list, we are using a class of properties serialized into objects and added to a list.
If you'd like to see the code behind on how this is done, keep an eye out for our breakdown post coming soon or review all the code on the GitHub Repo
🏞 Join the journey
If you like the sound of a free and open source retail system, make sure to get on board. I'll be posting progress updates, challenges and code breakdowns on all the platforms I creep about. Here are the main ways to stay up to date:
- Follow the project on GitHub
- Follow this blog, I have a series dedicated to EDS Retail (Ensure you subscribe to the newsletter)
- Follow me on Twitter for the bite sized info
- Follow me on Polywork
🏭 Like the idea?
If you are a business / need a retail system, and you like the idea of a free and open source retail system, leave a like or reaction to this post or leave a comment below with the things you'd like to see 👀
It's a first come, first served world. Making your voice heard at the start could help us give you the features you want quicker ❗🎊
📽 Join me while I code
I host a Twitch live stream every Tue, Wed and Thur at 17:30 MST where I code FOSS and hang out with whoever joins us. Join us this week on the livestream 👀 coder4t on Twitch
🐤 Let me know what you think
Want to give me some feedback? Have an idea for a post or want to get some more info on this one?
Tag me in your Tweet using @EkronMonte and let's have a discussion
Did you find this article valuable?
Support C0deR4t by becoming a sponsor. Any amount is appreciated!