Smart, fast and appropriate solution in your own wardrobe
Explore the docs »
Table of Contents
Our project is an IoT Solution for a Smart Wardrobe, that has different functionalities in order to replace an ordinary object in the house, making an easier life for the user.
Smart wardrobe has the following functionalities:
-
authentication
-
clothes and coats management
-
outfit recommendations (depending on the weather, color theory, user size etc.)
-
outfit history, rating and favourite list
-
clothes selection for washing (including instruction for different materials)
-
shopping recommendation
-
user feature change detection
Every functionality is carefully morphed in this IoT solution.
To get a local copy up and running follow these simple example steps.
Configure MQTT-mosquitto
- install mosquitto - https://mosquitto.org/download/
- open run as administrator command prompt
- navigate to Mosquitto root file -- something like C:\Program Files (x86)\mosquitto.
- Start the Mosquitto service by running the command: "net start mosquitto".
- Make sure you have an available IDE (e.g. IntelliJ), suitable for Spring Boot Projects
- Clone the repo
git clone https://github.com/CojocaruAlexandraFlavia/IoTEAM-Smart-Wardrobe.git
- Install/configure Postman
- Run SmartWardrobeApplication.java from the IDE.
For a more detailed description, please refer to the Documentation.
- Create App
- Authetication
- Database Design
- Database Management
- Outfit Recommendation
- Color Generator
- Weather Criteria
- Size and style filter
- Outfit Additionals
- History
- Rating
- Favourites
- Washing Functionality
- Color sorting
- Special Instruction Set Display
- Shopping Recommendation
- Shortage detection
- Category Selection
- User Feature Change Detection
- Size calculating
- Wardrobe Filtering
See the open issues for a full list of proposed features (and known issues).
It is created with a mosquitto broker that implements MQTT using a Publisher and a Subscriber.
In our case, the Publisher posts information about the weather condition (humidity, temperature, time_of_day) every minute on the "weather" topic once the app starts.
Once the user is logged in, the publisher posts all available items from the wardrobe every minute on the "items" topic.
Also, a new publish can be made, e.g. from Postman, using a post request with a JSON (that contains id, qos, topic, message) in the body.
The Async Documentation is made by hand in mqtt.yml.
For JaCoCo, it is necessary the following dependency:
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.agent</artifactId>
<version>0.8.7</version>
<scope>test</scope>
</dependency>
For SonarQube please check the next documentation.
Distributed under the MIT License. See LICENSE
for more information.
Project Link: IoTeam Smart Wardrobe