# Todos

<!-- Models: hashtags, reports, rewards -->

- Optional - when we create a presign url with specific id and files are uploaded on it but reel is not created with that id, then delete those files later on to save disc space

<!-- TODO -->
- For Comments, Reels, Followers, Likes, Statuses, Users, make sure to check if user is blocked

<!-- TODO -->
- Send regular notification to the user which didn't completed his onboarding/email verification

<!-- TODO -->
- handle the edge case when same user online in multiple devices, then other people get notified multiple times

# High Priority TODOs

* FEATURE: notifications feature
* FEATURE: report us with email
* FEATURE: setup no-reply email
* FEATURE: send contact us details in these email from no-reply
  - omar@vibeconnect.social
  - mohamad@vibeconnect.social
* FEATURE: explore should show my groups first with content, then my category with contents and then other groups
* FEATURE: admin UI to upload files in any communities
* FEATURE: User local timezone at the time of registration
* FEATURE: dynamic list of sub-courses in register page as per college list
* MISSING FEATURE: home screen algorithm
* MISSING FEATURE: blocked users functionality
* BUG: friends near me should show mutual users only in meet me. i.e. both users should follow each other to be labeled as friends (currently if someone follows me when I don't follow them back, I can still see them on friends near me)
* BUG: vibe score socket not firing when watching a video of mindfulness
* BUG: sent time is different in chat list page

# Completed TODOs

* POST and PATCH /events title & description limits updated (title: 5-200, description:10-5000)
* When POST /reels then reels count not updating in user profile
* POST/PATCH /statuses with optional title
* Password length is now 8-16 characters
* verified users badge in admin and all GET /users apis

* username length: 3-20
* API to share reels in users chat messages
* Script to reset compressed reels

* status multiple category feature
* in getChatById, also send participants count
* 3 hours time for end time in status
* start time is 0 hour
* online should be 15 minutes instead of 1 hour

* journal not working
* online users should show only those users which I have followed and they also followed me back, doesn't matter if chat exist or not
  * mutual-follows collection setup
  * api to fetch mutual users which are online
  * apply pagination
  * grab chat data of those users if exist
  * add script to update existing collections

* Events not coming due to location/type filter
* Rewards not working as per location
* Added chat id in user-online and user-offline socket event
* There is a delay in accepting/dismissing the connection request
* Follower/Following delay in creating it
* Vibe score `focus`/`mindfulness`/`reflection` is done as soon as we view it, but it should not be done before its timing
* reel soft delete feature - move reels to different collection and update user activity history

VIBE QR SCANNER:
* rename QR scanner app to "Vibe Reward Scanner"
* in QR scanner app, default camera should be back camera with option to change camera
* Change reward already consumed to reward already claimed
* Hide black screen before clicking on Scan QR code

* Vibe rewards is not showing as per latest orders
* in new vibe share api, share count is not updating
* in chat, when read api is fires, it also updates chat updatedAt which should not be
* for friends near me: the distance radius should be within 25 km only
* Setup AWS EventBridge Cloud Scheduler
* socket event for user-offline after 15 minutes

* ❌Blocked Users functionality:
  * GET `/users`
  * GET `/users/explore` - Explore search
  * GET `/users/meetme/online-users`
  * ✅GET `/users/:id`
  * GET `/statuses`
  * GET `/statuses/search` - Meet Me search
  * ❌POST `/requests` (requires group chat)
  * ❌PATCH `/requests/:id` (requires group chat)
  * ✅❌POST `/messages`
  * ✅❌POST `/messages/share-reels`
  * ✅❌PATCH `/messages/:id`
  * ✅❌POST `/messages/presign-url`
  * ✅❌DELETE `/messages/:id`
  * ✅❌POST `/chats`
  * ✅POST `/followers/:userId`
  * ✅DELETE `/followers/:userId`
  * ✅POST `/connections/:userId`
  * ✅POST `/connections/:userId/accept`
  * GET `/comments`
  * POST `/comments`
  * PATCH `/comments/:id`
  * **NOTE:** Messages api not handled for group chats; User, Status, Group Chat, POST
