maria-tudor / IoTEAM-Smart-Wardrobe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contributors Forks Stargazers Issues MIT License


SMART WARDROBE

Smart, fast and appropriate solution in your own wardrobe
Explore the docs »

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. MQTT
  6. Testing
  7. License
  8. Team
  9. Acknowledgments

About The Project

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.

(back to top)

Built With

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

Configure MQTT-mosquitto

  1. install mosquitto - https://mosquitto.org/download/
  2. open run as administrator command prompt
  3. navigate to Mosquitto root file -- something like C:\Program Files (x86)\mosquitto.
  4. Start the Mosquitto service by running the command: "net start mosquitto".

Installation

  1. Make sure you have an available IDE (e.g. IntelliJ), suitable for Spring Boot Projects
  2. Clone the repo
    git clone https://github.com/CojocaruAlexandraFlavia/IoTEAM-Smart-Wardrobe.git
  3. Install/configure Postman
  4. Run SmartWardrobeApplication.java from the IDE.

(back to top)

Usage

For a more detailed description, please refer to the Documentation.

(back to top)

Roadmap

  • 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).

(back to top)

MQTT

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.

(back to top)

Testing

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.

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Team

Project Link: IoTeam Smart Wardrobe

@AlexandraFlaviaCojocaru

@AlexandraBuruiana

@MariaFlorea

@AndreeaGavrila

@MariaTudor

(back to top)

Acknowledgements

(back to top)

About

License:MIT License


Languages

Language:HTML 82.3%Language:Java 14.9%Language:JavaScript 2.6%Language:CSS 0.2%