This program is a point-of-sale system designed for school canteens. It has a variety of modules, including Inventory, Sales, Access Control, Stocktake, Suppliers as well as a number of reports designed to facilitate business decisions. Some special features include the ability to sell items as a group, select items from a picture menu during sale and graphs depicting sales history.It was designed to be modular, hence it is extensible.
I created POSExpress as my 2004 entry to the Microsoft Australia and Department of Education & Training's Programming Excellence Award (the name was changed from 2003). Instead of allowing entrants to create anything, they had a set theme which was broadly around the idea of creating a program that help canteens track stock and orders. As a sidenote, this project was awarded first place in the competition.
This was my second .NET programming project, which was programmed in VB.NET as well as that was what I was familiar with at that time. However, instead of using VS2002 (.NET Framework 1.0) I upgraded to VS2003 (.NET Framework 1.1). I decided to explore and implement some of the more advanced and real-world techniques and technologies, so for the data store, I decided to use MSDE (the free edition of Microsoft SQL Server 2000) and the Data Access Application Block to communicate with it. I also used a two-tier structure, seperating the UI from the data access code. The UI was also special in that it was the first time I directly used the inheritance features in VB.NET, creating a base form and base controls for the UI to inherit from. This allowed for consistency in the UI design as well as a reduction in code, making it more maintainable. The grid control as well as some other ones were provided by ComponentOne.
The project was designed with extensibility in mind, and so all the features are designed as modules. These are all loaded up when needed, in their own thread to avoid locking up the interface. This meant that updates only required changing a certain module, and that modules can be swapped or removed without any issues.
As with the previous award-winning project, this project has not been maintained since the submission as I really had no use for it. On top of that, I legally don't own it anymore (there's a big fine-print document somewhere telling me that Microsoft or DE&T own the copyright) so I can't distribute it as a result of submitting it into the competition.
Besides, unless I actively maintain it, I really don't want it to be used in the real world given the implications and criticality to a business.