15 releases
| 0.1.14 | Apr 30, 2025 |
|---|---|
| 0.1.13 | Apr 30, 2025 |
| 0.1.7 | Mar 5, 2025 |
| 0.1.5 | Feb 9, 2025 |
| 0.1.2 | Dec 20, 2024 |
#488 in WebSocket
1,014 downloads per month
535KB
3K
SLoC
Oko
Fully local home security system.
Final Year Project for SETU's BSc (Hons.) in Software Systems Development.
Prerequisites
OpenCV (see opencv-rust/INSTALL.md)
Scripts
./make.sh run # Default admin password: "hunter42"
./make.sh f # Run frontend in dev mode
./make.sh b # Run backend in dev mode
./make.sh seed # Seed DB with dummy data
./make.sh cam1 # Send dummy camera images
./make.sh t # Run tests
./make.sh coverage
Repository Structure
.
├── backend # Oko webserver (+ recording, mDNS, etc.)
│ ├── ...
│ └── utils
│ ├── camera-impersonator # CLI for sending fake camera images to Oko
│ └── ws-utils # Functions for WebSocket port reuse
├── camera # ESP32-CAM code
│ ├── ...
│ └── esp-camera-rs # Safe wrappers for unsafe camera functions
├── frontend # Oko web UI
└── landing # Project info page (https://oko.piotrp.dev/)
Features
For a full list see the Documents.
| Add Camera | Video Feed | Camera Settings | Captive Portal |
|---|---|---|---|
Documents
(each image links to its respective document)
| Presentation | Report | Poster |
|---|---|---|
Poster concept made at the start of the project
Flow Diagrams
| Oko Overview |
|---|
| Account Creation | CI/CD Testing | Settings |
|---|---|---|
| Recording | Camera Detection |
|---|---|
| Image Streaming | ESP32-CAM Setup | Permissions |
|---|---|---|
Notes
| Notes | Demo Notes |
|---|---|
License
This project is licensed under the GNU GPL v3.0.
Made using the following resources:
Dependencies
~64–100MB
~1.5M SLoC