PDF Google Drive Downloader v1.1


Report a problem

Content text ServiceHive SDE Assignment



○ They must be able to update an existing event's status (e.g., click a "Make Swappable" button on a BUSY event). ● Marketplace View: ○ A page that fetches and displays the list of available slots from GET /api/swappable-slots. ○ Add a "Request Swap" button to each slot. Clicking this should (e.g., in a modal) show the user a list of their own SWAPPABLE slots to choose from as their offer. ● Notifications/Requests View: ○ A page that shows two lists: 1. Incoming Requests: Swaps other users have offered them. Each must have "Accept" and "Reject" buttons that call the POST /api/swap-response endpoint. 2. Outgoing Requests: Swaps they have offered to others (showing "Pending..."). ● State Management: ○ The application must update its state dynamically. For example, after a user accepts a swap, their calendar view should reflect this change without requiring a manual page refresh. ○ Authenticated routes should be protected. Technology Stack ● Frontend: You may use any modern framework (React, Vue, Svelte, or Angular). TypeScript is a plus but not required. ● Backend: You may use any framework (e.g., Node.js/Express, Python/Django/FastAPI, Go, Ruby on Rails, etc.). ● Database: You may use any database (e.g., PostgreSQL, MySQL, MongoDB, or even SQLite for simplicity). Bonus Features (To Stand Out) These are not required, but if you have extra time and want to showcase more of your skills, consider adding one or two: ● Unit/Integration Tests: Write tests for your backend API, especially for the complex swap-response logic. ● Real-time Notifications: Use WebSockets to notify a user instantly when they receive a swap request or when their request is accepted. ● Deployment: Deploy the live application (e.g., frontend on Vercel/Netlify, backend on Render/Heroku). ● Containerization: Include a Dockerfile and docker-compose.yml for easy local setup.

Related document

x
Report download errors
Report content



Download file quality is faulty:
Full name:
Email:
Comment
If you encounter an error, problem, .. or have any questions during the download process, please leave a comment below. Thank you.