Ashim Das
- Published on
08/07/2024, 03:50 pm Loading...
OxiLive App - Blood-Oxygen monitoring
Realtime Blood-Oxygen & BPM Monitoring App
App that monitors BPM & Blood-Oxygen of user(patient).
Records health data on daily basis.
User can login or signup using email-OTP.
Each user will be provided unique hardware ID Device ID
.
Hardware is ESP8266
implemented with sensor MAX30100
.
After signup with valid Device ID
user will see dashboard.
Then user can turn on the Device and it will start updating live data.
User can view history
Interactive graph
The device and server should be runing on the same wifi network or we can shift it in online in further development.
Technologies & hardware
Frontend
- Vanilla Javascript, CSS, HTML | Single page App
- Custom touch-reactive-graph to show saved data
- Modern UI
Backend
- Express JS
- Multi User
- JWT Authentication, Authorization, OTP via email, no-password signup
- Realtime data
Hardwares
- ESP8266 development board
- MAX30100 Sensor
- Battery
- BMS
- Micro USB Cable
Schematic
Will be available soon
Hardware setup & Flashing
Note: Arduino IDE should be installed
Download source code for ESP8266 and flash from arduino IDE
Software Setup & Running App (localhost)
Prerequisite: Node JS & NPM Installed
1. Cloning repository to local
git clone https://github.com/45h1m/OxiLive.git
cd OxiLive
__
2. Create .env file on app root directory
Here you put all private & sensitive information as environment variables. eg:
EMAIL_USER=oxilive.app@gmail.com
EMAIL_PASSWORD="app password of gmail"
JWT_SECRET=I34Y879RYHUIHHHYFH3YR38
EMAIL_USER From the email OTP will be sent
EMAIL_PASSWORD Add new app in email account with new password
App password & email account password are diffrent, you can know more about.
JWT_SECRET Long random string, used for authentication
__
3. Install Node Modules
npm i
4. Start Local Server
npm start
App shound be up & running on localhost:80
Open browser and visit http://localhost:80
Client App should load:
API Endpoints
/account
-
[POST] /generate
-
[POST] /verify
-
[POST] /signup
-
[POST] /userData
-
[POST] /delete
/device
-
[POST] /dates
-
[POST] /dates/date
-
[POST] /realtime
-
[POST] /update/deviceID?oxygen=99&bpm=78
View source code