Real-Time Image Prediction and Collaborative Whiteboard
Problem Statement: Create a web application using React that allows users to upload images and receive real time predictions from a pre trained machine learning model. The application should be able to classify the uploaded images into multiple categories. Minimum Requirements: Users can create a new whiteboard session or join an existing one. The whiteboard should support drawing using different colors and brush sizes. Implement the ability to undo/redo the last action on the whiteboard. Users should be able to see the cursors of other connected users moving in real time, indicating their drawing actions. Add an option to save the whiteboard content as an image or PDF file. Implement authentication (user signup and login) to ensure that only authorized users can access the whiteboard. The application should be responsive and work on both desktop and mobile devices. Must have: Use React for front end development. The UX should look professional – see any white boarding tool from Microsoft for UX reference – bad ux choices will have negative points For real time functionality, consider using WebSocket or a real time database like PostGres SQL via a docker container. For drawing on the whiteboard, you can explore libraries like Fabric.js or Konva.js. Implement secure authentication using a backend service of keycloak only. Please use keycloak via a docker. User should only be allowed on home screen after login Clean & fluidic layout – use bootstrap (5.0) only Code must be written in TypeScript only, no JS code will be accepted Error free, Readable, Simple & Clean code Let me stress the previous point Readable, Simple & Clean code Bonus Points: Allow users to collaborate through live chat while drawing on the whiteboard. Implement an invitation system, where users can invite others to join their whiteboard session via email. Add the ability to export the whiteboard content as a video with a playback of the drawing actions. Quick Hint: You can use local storage to save the user preferences. Few links for reference: 1. Keycloak https://www.keycloak.org/ & https://www.keycloak.org/getting started/getting started docker
