A biofeedback application that monitors physiological signals like heart rate, breathing, and skin conductance to provide real-time feedback.
Please note that this app is inspired by (https://github.com/camilleanne/pulse).
- Real-time monitoring of heart rate, breathing rate, and skin conductance
- Visual feedback with charts and metrics
- Session management to track progress over time
- Multiple sensor input options (simulated, webcam, microphone)
- Personalized recommendations based on biofeedback data
- Clone the repository:
git clone https://github.com/AhmadShallal/pulse-nodejs.git cd pulse-nodejs
- Install dependencies:
npm install
- Start the application:
npm start
- Open your browser and navigate to
http://localhost:3000
- Click "Start Session" to begin monitoring your biofeedback data.
- Select your preferred sensor input method:
- Simulated Data: Uses simulated data for demonstration purposes
- Webcam: Uses your webcam to detect heart rate (requires browser permissions)
- Microphone: Uses your microphone to detect breathing rate (requires browser permissions)
- View real-time feedback and recommendations based on your biofeedback data.
- Click "Stop Session" to end the monitoring session.
- Click "Save Session" to save the session data for future reference.
- Click "Load Sessions" to view and analyze previous sessions.
GET /api/sessions/:userId- Get all sessions for a userPOST /api/sessions- Save a new sessionPOST /api/process- Process biofeedback data
- Backend: Node.js, Express.js, Socket.io
- Frontend: HTML5, CSS3, JavaScript, Chart.js
- Data Storage: JSON files (can be replaced with a database)
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.