V delu definiramo internet stvari kot skupino infrastruktur, ki omogočajo dostop, upravljanje in rudarjenje na podatkih, ki jih generirajo glede na okolico in interakcijo z uporabniki. Infrastrukture sestavljajo stvari, posredniki, podatkovne storitve, programski vmesniki, spletne in druge storitve, skupaj pa omogočajo prenos obdelavo in dostop podatkov s senzorjev ter nadzor aktuatorjev in spreminjanje notranjega stanja stvari. Stvari so naprave z določeno funkcijo, s senzorji za zaznavanje okolice in aktuatorji za manipulacijo okolice ter s sposobnostjo komunikacije z drugimi stvarmi, prehodi ali z drugimi omrežji. Opremljeni z definicijo interneta stvari identificiramo nabor lastnosti, ki opisujejo aplikacije IoT in določimo gradnike, ki sestavljajo aplikacije IoT: stvari, posredniki ali prehodi ali stičišča, podatkovne shrambe in različne storitve. Določimo še osnovne arhitekture v katerih se lahko pojavljajo gradniki IoT. S tako določeno taksonomijo in pojmom aplikacije IoT zgradimo sistem za modeliranje aplikacij IoT, ki na podlagi zahtev aplikacije določi najprimernejšo arhitekturo in platformo, ki ju lahko izberemo za implementacijo aplikacije. S tem zmanjšamo prag za vstop v razvoj aplikacij IoT. Orodje za modeliranje aplikacij IoT uporabimo za izdelavo pametne kuhinjske posode, ki se zaveda svoje teže in lahko posveti z diodo LED, v odvisnosti od notranjega stanja posode. Kot dokaz delovanja pripravimo vse komponente aplikacije IoT. Izdelamo tudi nadzorne in podporne spletne storitve, s katerimi se dotaknemo dogodkovno vodenega programiranja, komunikacije preko protokola WebSocket in težav s komunikacijami preko tehnologije Bluetooth LE. V zaključku nakažemo možnost širitve taksonomije in skupnosti okrog koncepta testiranja modelov (angl. model unit testing). Nakažemo tudi možnost samodejnega odkrivanja lastnosti in priporočil s pomočjo strojnega učenja. We define the internet of things as a group of infrastructures for accessing, mining and management of data that is generated by the environment or by users. Infrastructures are comprised of things, transport elements, data services, programming interfaces, web services and other services. Infrastructures enable sensor data access, actuator control, and internal state change. Things are devices with a specific function and might have one or more sensors to sense the environment and zero or more actuators to act in the environment. Things can communicate with other things, gateways and other networks. This definition of IoT allows us to identify a base set of attributes that can be used to describe IoT applications and basic components that appear in an IoT application such as things, gateways or hubs, data storages and services. We define the basic system architectures that are used in IoT applications. We build an IoT application model based on this taxonomy. The model takes a list of properties representing application requirements and proposes the best architecture and platform to use for building the desired IoT application. This reduces the friction to enter the world of IoT development. We use the model to recommend the platform and an architecture for a smart kitchen container application. The smart kitchen container is aware of its weight and has an LED light that can be controlled through the network or through the internal state. As a proof of concept we implement the IoT application including all the cloud based support services. In conclusion we show a possible future direction of work developing a model unit testing tools. We also make suggestions for automatic feature learning and classification with machine learning.