Websocket User Logs for a React Native App
Budget: $30 – $250 USD
I am looking for someone to develop user session logs for a React Native App using Websockets.
The project consists of a NodeJS Websocket server and a client class that goes in a React Native Project.
Our application runs on IOS, Android and Web.
Actions to be logged:
- WebSocket session start and end timestamp
- React Native Navigation events
- Identification/logging of each app button clicked by user
Code should be dynamic for Navigation Events and expandable to handle new button actions.
Logs will be stored in a Postgres database with the following schema:
DB => user-log-table => {id, created, socketid, userid, action, details}
DB => user-sessions-table => {id, created, socketid, userid, sessionOpened, sessionClosed}
Example Scenario:
[user logs in] => Websocket connection started to server => server adds {
db.user-sessions-table - Add row - id: 5, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", sessionOpened: timestamp
}
[user goes to detail page] => Emit Socket event => server adds {
db.user-logs-table - Add row - id: 23, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", action: "Navigate", details: {page: "Detail"}
}
[user clicks button] => Emit Socket event => server adds {
db.user-logs-table - Add row - id: 23, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", action: "load-cats", details: {}
}
[user goes back home] => Emit Socket event => server adds {
db.user-logs-table - Add row - id: 23, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", action: "Navigate", details: {page: "Home"}
}
[user leaves app] => Websocket connection closed => server adds {
db.user-sessions-table - Add row - id: 5, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", sessionOpened: timestamp, sessionClosed: timestamp
}
* There's no need to include authentication in the project as we have a solution already.
* The developer should have advanced knowledge in websockets and React Native application development.
The project consists of a NodeJS Websocket server and a client class that goes in a React Native Project.
Our application runs on IOS, Android and Web.
Actions to be logged:
- WebSocket session start and end timestamp
- React Native Navigation events
- Identification/logging of each app button clicked by user
Code should be dynamic for Navigation Events and expandable to handle new button actions.
Logs will be stored in a Postgres database with the following schema:
DB => user-log-table => {id, created, socketid, userid, action, details}
DB => user-sessions-table => {id, created, socketid, userid, sessionOpened, sessionClosed}
Example Scenario:
[user logs in] => Websocket connection started to server => server adds {
db.user-sessions-table - Add row - id: 5, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", sessionOpened: timestamp
}
[user goes to detail page] => Emit Socket event => server adds {
db.user-logs-table - Add row - id: 23, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", action: "Navigate", details: {page: "Detail"}
}
[user clicks button] => Emit Socket event => server adds {
db.user-logs-table - Add row - id: 23, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", action: "load-cats", details: {}
}
[user goes back home] => Emit Socket event => server adds {
db.user-logs-table - Add row - id: 23, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", action: "Navigate", details: {page: "Home"}
}
[user leaves app] => Websocket connection closed => server adds {
db.user-sessions-table - Add row - id: 5, created: timestamp, socketid: "e3kafjei32ladfj", userid: "abcdefg123", sessionOpened: timestamp, sessionClosed: timestamp
}
* There's no need to include authentication in the project as we have a solution already.
* The developer should have advanced knowledge in websockets and React Native application development.