Keystone is a project designed to provide Emergency Response Assistance (ERA) by simulating and detecting emergency scenarios. The system integrates various modules to detect gunshots, simulate escape routes, analyze network logs, and evaluate WiFi data to ensure a comprehensive response to emergencies.
The repository is organized into the following main components:
- AP Logs: Legacy network log simulator and their logs.
- Documentation: Additional documentation for the project.
- EscapeRouteSimulator: An animation showcasing the escape route algorithm.
- Gunshot API: An API exposed for the Gunshot Detection module.
- Gunshot Detection: Implements the algorithms and models used for gunshot detection.
- MainServer: The central server that integrates and manages all components of the ERA system. - MainServer.md
- Network Log Simulator: Simulates network logs to analyze and detect unusual activity.
- Wifi Analysis: Legacy algorithms for analyzing Wi-Fi singals and their data.
- era-frontend: The front-end interface for the ERA system. - Frontend.md
Ensure you have the following installed on your system:
- Python 3.x
portaudio
(for the Gunshot API)- node and npm lts
- Install
portaudio
:brew install portaudio
- Set up the Gunshot API environment:
cd Gunshot\ API python3 -m venv env source env/bin/activate pip install -r requirements.txt python3 main.py
- Navigate to the MainServer directory:
cd MainServer
- Install the required dependencies:
npm install
- Compile Typescript:
npx tsc
- Start the server:
npm start
- Navigate to the Network Log Simulator directory:
cd Network\ Log\ Simulator
- Install the required dependencies:
npm install
- Compile Typescript:
npx tsc
- Start the server:
npm start
- Navigate to the ERA Frontend:
cd era-frontend
- Install the required dependencies:
npm install
- Start the server:
npm run dev
- Navigate to the specified URL
To run the entire project, follow the setup instructions for each component. Ensure all dependencies are installed and the environment is correctly configured. Start each component as described in the installation steps.