/TransactEstateManagingService

A student project by students of UT Arlington. The Estate Management system will track and update the status of various devices of an institution and will provide a graphical user interface to display their status. This system is based on IOT (Internet Of Things).

Primary LanguageJavaScriptMIT LicenseMIT

Transact Estate Managing Service

The product proposal is to develop an estate manager using Azure IoT. Transact provides clients with a variety of transaction hardware devices to process retail, event, and door access transactions across hundreds of higher education campuses. In University, students use their physical ID cards to access parking lots, library, recereational services, and many more. The current problem is these IoT devices did not have a central system where they could report to. Device failures could not be monitored all the time. Transact did not have visibility to deployed devices to proactively assist clients with current or imminent device failures. Hence, the goal of this product is to solve this problem by developing an estate manager dashboard using Azure IoT services. Currently, Transact and Higher institutions who have authorized access can view their devices, errors, history and location of devices using deployed website.

Transact Estate Managing Service

Built with

  • Node Red - Simulate a device and register the device in the Azure IoT Hub
  • Azure - Used Azure IoT hub to register devices, function app to store data received from device into database and Cosmos DB's API for mongoDB
  • React JS - The web framework for frontend
  • Redux JS - Library used for frontend to store data
  • Fetch JS - Library used for fetching resources asynchronously from the defined routes
  • Node JS - Used for backend development with express to create server and interact with mongo DB.
  • Express JS - Used for backend server to interact with API and make http request
  • Mongoose - Used for creating Schema and interacting with mongo database
  • Mongo DB - Used for storing users data in backend

Getting Started

  1. Install the dev dependencies inside the downloaded folder npm install dependencies
  2. cd client 3.npm install dependencies
  3. cd ..
  4. npm run dev
  5. You need to add .env file for storing your own config variables inside the downloaded folder
  • COSMOSDB_USER
  • COSMOSDB_PASSWORD
  • COSMOSDB_DBNAME
  • COSMOSDB_HOST
  • COSMOSDB_PORT
  • clientID
  • clientSecret
  • JWT_SECRET
  • PORT

Setting Up Node Red

Setting Up Azure Function App

Setting Up Cosmos DB API for Mongo DB

License

This project is licensed under the MIT License - see the LICENSE.md file for details