User Logs for React Native App using Websockets -- 3

Job ID: 36397991

Budget: $30 – $250 USD

*** If you are interested please start your message with "Project for CSI" *** 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. * Attached is a visual diagram