The DoorCam project is designed to provide a security solution that integrates machine learning to recognize and log door entry events. It includes both the backend processing of data and the frontend for interacting with the system.
- Real-time Door Monitoring: Capture and process door entry data.
- Machine Learning Integration: Models for predicting and analyzing entry events.
- Aggregation and Logging: Tools for aggregating data and maintaining logs of events.
- Training and Prediction: Scripts to train the machine learning models and make predictions based on new data.
- Web Interface: A user-friendly interface to interact with the DoorCam system.
DoorCam/
│
├── deploy/ # Deployment configuration and scripts
│
├── doorcam/ # Main application files
│ ├── aggregation.py # Handles data aggregation
│ ├── models.py # Defines and handles machine learning models
│ ├── entry_record.csv # Log of door entry events
│ ├── client.py # Handles client-side functionality
│ ├── predict.py # Script to run predictions on new data
│ ├── config.yaml # Configuration file for the system
│ ├── logs/ # Log files
│ ├── train.py # Script to train models
│ ├── app.py # Main application file (web or server interface)
│ ├── templates/ # HTML templates for web interface
│ └── utils.py # Utility functions
│
├── tests/ # Unit tests for the application
│
├── requirements.txt # Python dependencies
├── README.md # Project documentation (this file)
└── .git/ # Version control metadata
- Python 3.8+
- Install dependencies with:
pip install -r requirements.txt
-
Train the model: To train the machine learning model with available data:
python doorcam/train.py
-
Make predictions: After training, you can run predictions using:
python doorcam/predict.py
-
Start the application: To run the web interface:
python doorcam/app.py
Configuration for the system is stored in doorcam/config.yaml
. You can modify this file to adjust parameters such as model settings, logging preferences, and more.
Unit tests are located in the tests/
directory. Run the tests using:
python -m unittest discover tests
Feel free to open issues or submit pull requests if you would like to contribute to the project.
This project is licensed under the MIT License - see the LICENSE file for details.