Giter Club home page Giter Club logo

parking-iot-server's Introduction

DMD Banner

Parking-IoT

A Code Fellows 401 Java Team Project.

car balloon

Photo Credit: Freakonmics

An Internet-of-Things (IoT) application, that automates parking space availability in a parking lot, so that drivers can quickly locate the nearest available space, in order to save time and fuel, and that also helps parking lot owners and attendants, monitor and manage their lots.

Documentation:

Javadoc

Parking-IoT

A Code Fellows 401 Java Team Project.

An Internet-of-Things (IoT) application, that automates parking space availability in a parking lot, so that drivers can quickly locate the nearest available space, in order to save time and fuel, and that also helps parking lot owners and attendants, monitor and manage their lots.

Background

Inspired by the movement started in South Korea of using balloons to indicate unoccupied stalls (See article: https://popupcity.net/parking-balloons-help-drivers-save-gas/)

car balloon

Photo Credit: Spring Wise

Nothing is more frustrating when time is spent grid-locked looking for an open parking stall at a busy mall's parking lot during the holiday seasons. Based off a month-long study conducted in South Korea, a major oil company S-Oil estimated an average Seoul driver spends 9.3 miles per car a month looking for parking. With a study using balloons those commuters were able to reduce their consumption by more than 65%!

Our Approach

It's a hardware/software based solution that will allow users to discover nearby available parking spaces in a parking lot, thereby saving time, and fuel. Sensors in each parking space automatically mark spaces as available, or unavailable, as drivers occupy or vacate them.

The hardware part of this product will utilize Raspberry Pi micro computers, programmed to detect a sensor being triggered when drivers occupy and vacate parking spaces, and respond by contacting the server API about the event.

The software part of this solution is a cloud based application that maintains parking lot information in real time, based on the events occuring in the parking lot, detected by the hardware components.

Additionally, parking lot operations can be managed in real time, by attendants, and owners, using an Atendant application, to view current status, and monitor transactions.

Architecture and Design

Whiteboard High Level: alt text

The only change to our original architecture write up, is that we elected to go with a browser based Attendant application, instead of a Java Swing application. It uses Java and Spring WebSockets.

Domain Model: alt text

Parking Space State Model: alt text

Database Model: alt text

Technology

Software

Hardware

  • Raspberry Pi See the client repository for more information: Physical-IoT

Local Installation

Spring boot apps that use JPA, like this one, require a database in order to run. If you are a developer, and want to work on this application, you'll need to setup a local database in order to run.

Installation

Clone
  • got the directory in which you want to install Physical application
  • Clone this repository for code to run
Create Local Database

To run locally on localhost:8080

  • Create and connect parking_app database in PostgreSQL
  • Configure your editor environment variable
--DATABASE_URL="postgresql://localhost/parking_app"

--SPRING_DATASOURCE_USERNAME="yourusername"

--SPRING_DATASOURCE_PASSWORD="yourpassword"
Physical Device Setup

Navigate to Physical-IoT to follow instructions on how to setup the device.

Current Phase:

  • 1 - Official concept Release

Hardware

For Contribution Only Purposes:

  • Only applicable to current members of the organization, git clone the project repository into a local directory.
  • All work must be done on a unique branch that indicates the contributor and the feature.
  • All merges from local branches can only be into the test branch. Approval from organization member is required prior to merging to master for publication

Organization

License

Parking-IoT-Server is licensed under the APache License, Version 2.0 Apache License

parking-iot-server's People

Contributors

derrickhwang21 avatar hoffit avatar bassettmason avatar mnfmnfm avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.