Git Product home page Git Product logo

camera-surveillance-dashboard--cloud-technologies's Introduction

Camera-Surveillance-Dashboard--Cloud-Technologies

React Surveillance Dashboard

Full cloud architecture diagram of the implemented application is shown below.

image

This repository is for a React Dashboard application. The application is a Camera surveillance dashboard that allows its users to hook live streams from their IP Cameras to the dashboard. The application is a fully managed software powered by AI that supports multiple anomaly detection including but not limited to arson, robbery, theft and illegal dumping.

Application hosting:

The application is hosted on AWS through AWS amplify, which utilizes AWS resources under one umbrella. And on the backend uses CloudFormation to deploy the stack.

User Login system:

The user login systems is made using AWS Cognito user pools. A private user pool is setup in AWS Cognito, various parameters are set that are application specific. An image of the login screen is shown below:

image

Fig.1 Login page

The user signup function has been turned off, and a user cannot be created from outside the application. The user when logs in, its credentials are checked against the users credentials in the Cognito user pool.

Dashboard: Below is an image of the dashboard:

image

Fig.2 Dashboard dark mode

image

Fig.2 Dashboard light mode

The dashboard is made up of multiple UI components, they are enumerated below:

  • Top bar: The top bar is made using material UI, it ha various elements, there is a search bar on the left side, and couple of buttons for various operations on the right side. The options include logging out, toggling dark mode, light mode, settings and alerts. An image of top bar is shown in figure 3.

image

Fig.3 Topbar

  • Sidebar: is a collapsible sidebar with different menu items, the user name and user clearance level for easy view is shown on the sidebar. The Sidebar is made using react sidebar and material UI. An image of the sidebar is shown below in figure 4.

Fig.4 Sidebar

  • Video feeds: for simulation purposes, 4 static video sources have been added on the dashboard for the user to view, in essence they imitate live video feeds coming from IP cameras that are meant to be monitored. The video cards are shown in figure 5.

image

Fig.5 video feeds

  • User chart: the user chart is a dynamic chart which shows the number of users that have access to the dashboard. Two types of users are authorized to work on the application and their permissions vary accordingly. The information displayed is dynamic and is queried and displayed from the user pool. The user chart is shown in figure 6.

image

Fig.6 User chart

  • Alert generated chart: The alerts generated chart compiles the alerts accrued over the year, it represents the count of these alerts separated by months, the graph is dynamic and the number of alerts can be queried when the mouse is hovered over the graph. An image of this graph can be seen in the figure below.

image

Fig 8. Alerts generated graph

  • Recent alerts component: the recent alerts component presents the latest alerts recorded, it gives the name of the building/are the alert was recorded in, the camera name that captured the event, a time stamp and the alert type that was detected. A figure below shows the recent alert component.

Fig 9. Recent alerts

  • Alerts by buildings chart: the alerts by building charts compiles all the number of alerts generated separated by the building/area the alert was recorded at. It also presents a count of the particular alert. For the moment only three alert classes have been used that include: Arson, Dumpling and motor accident. The graph is dynamic and the number of alerts can be queried when the mouse is hovered over the graph. An image below shows the graph.

image

Fig 10. Alerts (count represented by buildings)

  • Create User component: The create user component is used for creating users, it can be accessed through the side bar. The application is set as such that only “Admin” users can create new users. The user can only be created from inside the application, and anyone cannot signup to use the service. For signing up the following are required:
    • User name
    • User email
    • User password
    • Clearance level i.e. if the user is a admin or not. If the user is not an admin it will automatically be assigned staff level clearance. Once the user has been created, the created user will receive a secret code that they can use to access the application. An image of the component is shown below.

image

Fig. 11 Create user component

  • Users component: This component displays the active application users in the form of a table, the users name, email address, status and clearance level is shown in this component. Only admin level users can delete other users. The staff level user does not have delete privileges. A confirm delete prompt is shown when a user is to be deleted. An image of the user’s component is shown below.

image

Fig 12. User table

  • Calendar: the calendar component is added to show the alerts generated by the date; the alert was encountered. This component is not yet complete as the backend still need a little working. The calendar component is shown below.

image

Fig 13. Calendar component

  • Charts and graphs: All charts and graphs in full form with all the detailed axis and legends, that are displayed on the dashboard can be viewed independently and they can be accessed through the side bar menu.

camera-surveillance-dashboard--cloud-technologies's People

Contributors

a819694114 avatar kgdash116 avatar kothaswapna avatar kureshy avatar shrishashegde 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.