This is a web application that gives operators a wide range of capabilities to thoroughly manage a network of surveillance cameras in a building or facility. These capabilities include:
- Operators need to login to the system.
- Operators can view past footage from each camera in previous days.
- The system will alert the operator if a camera goes offline.
- The application has motion detection capability and alert the operator upon detecting a motion. This function can be turned on/off as an option to the operator.
- The application has sound detection capability and alert the operator upon detecting a sound. This function can be turned on/off as an option to the operator.
- In addition to the above, the application has face detection capability. Similarly, this option can also be turned on or off as the operator desires.
The application is designed with a responsive user interface that is optimized for both desktop and mobile devices.
- Node
- Express
- React
- React Router
- MongoDB
- Axios
- JWT
- bcryptjs
- React-Bootstrap
- Jest
- @tensorflow/tfjs"
- @testing-library/react
- aws S3
- Run
npm i
in both frontend and backend folders - Create .env file based on .env.example
- Run
npm run dev
in root directory of the project - Running Jest Test
npm test
npm run data:import
npm run data:destroy
For optimal performance, it is recommended that you turn off each switch before switching on another one.
The video in Room 1 has sound for checking the sound detection feature.
If you are experiencing issues accessing motion detection or sound detection features, it might be needed to disable the same origin policy in your browser. disable same origin policy in your browser
- Using OpenCV library for motion detection
- Extending the face detection mode to history videos
- Expanding test coverage by writing more test cases that cover a wider range of code.
- Integrating more TensorFlow models in the application