About KostNixAppThis project is a diploma thesis of the students of the 5AHEL, enrolled at the HTL-Mössingerstraße. Kost-Nix-Shops ("Kost-Nix-Läden") are collection and distribution points for goods. Instead of throwing working things in the trash, people can hand them over to Kost-Nix-Shops. Stored there, anyone can pick them up free-of-charge. This applies to clothes, machines, food, furniture, electronic devices -- everthing. Up until now, Kost-Nix-Shops lived through word of mouth advertisement. People had to come to the shop to see what was available. Additionally there was no stock management system implemented - which made the work difficult for shopkeepers. The KostNixApp is solving these problems with a website and a stock management system.
Project page update
4th Iteration - Project presentation and project page update
3rd Iteration - Project presentation
Project page update
2nd Iteration - Project presentation
1st Iteration - Project presentation
ComponentsThe KostNixApp is composed of 3 main components. Each aimed for different needs to support the Kost-Nix-Shops.
An interface to the KostNixApp database. It lists available goods and provides a simple order system.
Part of the web application, it displays Points-of-Interest (POIs) and routes.
Semiautonomous system to synchronize local stock with the KostNixApp.
Peter Werner PfaffenederProject leader. Responsible for the KostNixApp web application and the HTL-project page (this one).
Philipp RatzbergerCreates a Map which is embedded into the web application.
Harald TributschDevelops a local stock managment system for Kost-Nix-Shops.
Dipl.-Ing. Günther HölzlProject supervisor.
DetailsGoing into some detail how the KostNixApp was developed. The project is developed in cooperation with the ecoenergy GmbH. A server with an already existing database model and a part of the back-end were provided. Included are part of the database model and scripts for the background logic of the web application.
The diagram above illustrates the functions and components of the KostNixApp. Users can interact with the web application to perform searches, order products and more. The request will be handled by the KostNixApp server and sends a response in JSON format. In addition to handling requests, the server is also used to communicate with local stock management systems.
Web applicationThe KostNixApp web application should be responsive, user friendly and intuitive. Following is a list of technologies which were used to realize this.
Modern frameworks are used to deliver a responsive and appealing Single Page App (SPA). Angular Material is one of the frameworks. It is developed by Google and extends the HTML syntax with custom directives. Additionally, it uses two-way data binding and the MVC design pattern. Libraries are maintained with a package manager to make further development easier.
Following is a list of software tools which were used to develop the web application and helped improving the workflow.
Developed by Adobe, this editor is aimed for web developers and provides a live preview of the web page.
A text editor with advanced features like a minimap of the code, multi-line editing and more.
A software version control system that is crucial for maintaining code and good teamwork.
MapThere were many maps available, but we had some criteria which had to be fulfilled:
- Open source
- Good documentation
- Self hosted content
- Nice looks
In the pool of available Maps were:
- OpenStreetMaps (OSM)
- Google Maps
The stock management system plays a huge part in the KostNixApp because it connects the store to the internet, and finally to the people. Because Kost-Nix-Shops are mainly financed by donations, the system must be affordable and easy to use. The best solution was to use a Raspberry Pi and a webcam. Attached QR-Codes on the shelfes define the store and what content is placed. After reading the QR-Code with the Raspberry Pi, the shopkeeper has to enter an estimated amount. Finally the data is saved in the MySQL database which is also connected to the KostNixApp web application.
Requirements for the stock management were:
- Easy handling