├── .dockerignore ├── .github └── workflows │ ├── codeql.yml │ └── docker-build.yml ├── .gitignore ├── .gitlab-ci.yml ├── LICENSE ├── README.md ├── backend ├── .dockerignore ├── __init__.py ├── pyproject.toml └── smart_sec_cam │ ├── __init__.py │ ├── auth │ ├── __init__.py │ ├── authentication.py │ ├── database.py │ └── models.py │ ├── motion │ ├── Dockerfile │ ├── __init__.py │ ├── detection.py │ └── main.py │ ├── redis │ ├── Dockerfile │ ├── __init__.py │ ├── gen-test-certs.sh │ ├── image_receiver.py │ ├── image_sender.py │ └── redis.conf │ ├── server │ ├── Dockerfile │ ├── __init__.py │ ├── docker-entrypoint.sh │ └── server.py │ ├── streamer │ ├── __init__.py │ ├── camera.py │ ├── run.sh │ └── streamer.py │ └── video │ ├── __init__.py │ ├── manager.py │ └── writer.py ├── create-certs.sh ├── docker-compose.yml ├── docs ├── Live_Video_Example.png └── Replay_Example.png ├── frontend └── smart-sec-cam │ ├── .env │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── docker-entrypoint.sh │ ├── package-lock.json │ ├── package.json │ ├── public │ ├── camera-logo.png │ ├── index.html │ ├── manifest.json │ └── robots.txt │ └── src │ ├── App.css │ ├── App.js │ ├── App.test.js │ ├── components │ ├── ImageViewer.css │ ├── ImageViewer.js │ ├── NavBar.js │ └── VideoPlayer.js │ ├── index.css │ ├── index.js │ ├── logo.svg │ ├── pages │ ├── Login.css │ ├── Login.js │ ├── Register.css │ ├── Register.js │ ├── VideoList.css │ └── VideoList.js │ ├── reportWebVitals.js │ ├── setupTests.js │ └── utils │ ├── GetTokenTTL.js │ ├── RefreshToken.js │ ├── ValidateToken.js │ └── base64ToBlob.js └── scripts ├── create-streamer-service.sh └── smart-sec-cam.base.service /.dockerignore: -------------------------------------------------------------------------------- 1 | data -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/.github/workflows/codeql.yml -------------------------------------------------------------------------------- /.github/workflows/docker-build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/.github/workflows/docker-build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/.gitlab-ci.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/README.md -------------------------------------------------------------------------------- /backend/.dockerignore: -------------------------------------------------------------------------------- 1 | data -------------------------------------------------------------------------------- /backend/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/pyproject.toml -------------------------------------------------------------------------------- /backend/smart_sec_cam/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/smart_sec_cam/auth/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/smart_sec_cam/auth/authentication.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/auth/authentication.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/auth/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/auth/database.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/auth/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/auth/models.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/motion/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/motion/Dockerfile -------------------------------------------------------------------------------- /backend/smart_sec_cam/motion/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /backend/smart_sec_cam/motion/detection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/motion/detection.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/motion/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/motion/main.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/redis/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/redis/Dockerfile -------------------------------------------------------------------------------- /backend/smart_sec_cam/redis/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/redis/__init__.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/redis/gen-test-certs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/redis/gen-test-certs.sh -------------------------------------------------------------------------------- /backend/smart_sec_cam/redis/image_receiver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/redis/image_receiver.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/redis/image_sender.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/redis/image_sender.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/redis/redis.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/redis/redis.conf -------------------------------------------------------------------------------- /backend/smart_sec_cam/server/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/server/Dockerfile -------------------------------------------------------------------------------- /backend/smart_sec_cam/server/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/smart_sec_cam/server/docker-entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/server/docker-entrypoint.sh -------------------------------------------------------------------------------- /backend/smart_sec_cam/server/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/server/server.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/streamer/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/smart_sec_cam/streamer/camera.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/streamer/camera.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/streamer/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/streamer/run.sh -------------------------------------------------------------------------------- /backend/smart_sec_cam/streamer/streamer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/streamer/streamer.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/video/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/smart_sec_cam/video/manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/video/manager.py -------------------------------------------------------------------------------- /backend/smart_sec_cam/video/writer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/backend/smart_sec_cam/video/writer.py -------------------------------------------------------------------------------- /create-certs.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/create-certs.sh -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docs/Live_Video_Example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/docs/Live_Video_Example.png -------------------------------------------------------------------------------- /docs/Replay_Example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/docs/Replay_Example.png -------------------------------------------------------------------------------- /frontend/smart-sec-cam/.env: -------------------------------------------------------------------------------- 1 | REACT_APP_API_URL = "https://sec-cam-server:8444" -------------------------------------------------------------------------------- /frontend/smart-sec-cam/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/.gitignore -------------------------------------------------------------------------------- /frontend/smart-sec-cam/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/Dockerfile -------------------------------------------------------------------------------- /frontend/smart-sec-cam/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/README.md -------------------------------------------------------------------------------- /frontend/smart-sec-cam/docker-entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/docker-entrypoint.sh -------------------------------------------------------------------------------- /frontend/smart-sec-cam/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/package-lock.json -------------------------------------------------------------------------------- /frontend/smart-sec-cam/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/package.json -------------------------------------------------------------------------------- /frontend/smart-sec-cam/public/camera-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/public/camera-logo.png -------------------------------------------------------------------------------- /frontend/smart-sec-cam/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/public/index.html -------------------------------------------------------------------------------- /frontend/smart-sec-cam/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/public/manifest.json -------------------------------------------------------------------------------- /frontend/smart-sec-cam/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/public/robots.txt -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/App.css -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/App.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/App.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/App.test.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/components/ImageViewer.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/components/ImageViewer.css -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/components/ImageViewer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/components/ImageViewer.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/components/NavBar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/components/NavBar.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/components/VideoPlayer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/components/VideoPlayer.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/index.css -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/index.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/logo.svg -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/pages/Login.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/pages/Login.css -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/pages/Login.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/pages/Login.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/pages/Register.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/pages/Register.css -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/pages/Register.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/pages/Register.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/pages/VideoList.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/pages/VideoList.css -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/pages/VideoList.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/pages/VideoList.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/reportWebVitals.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/reportWebVitals.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/setupTests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/setupTests.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/utils/GetTokenTTL.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/utils/GetTokenTTL.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/utils/RefreshToken.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/utils/RefreshToken.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/utils/ValidateToken.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/utils/ValidateToken.js -------------------------------------------------------------------------------- /frontend/smart-sec-cam/src/utils/base64ToBlob.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/frontend/smart-sec-cam/src/utils/base64ToBlob.js -------------------------------------------------------------------------------- /scripts/create-streamer-service.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/scripts/create-streamer-service.sh -------------------------------------------------------------------------------- /scripts/smart-sec-cam.base.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scottbarnesg/smart-sec-cam/HEAD/scripts/smart-sec-cam.base.service --------------------------------------------------------------------------------