Skip to content

Events Tool

The Events tool lets team members propose social events, outings, and team activities. Others can vote on proposals, and managers can confirm dates and details.

  • Event proposals — Any team member can propose an event with title, description, date, location, and image
  • Voting — Toggle-based voting to gauge interest (one vote per person, click again to unvote)
  • Status workflow — Events move through proposedconfirmedcompleted / cancelled
  • Image uploads — Upload event images (JPEG, PNG, GIF, WebP, max 5 MB) stored in R2
  • Sort by popularity — Events sorted by vote count, then recency
Access LevelViewUpdateManage
ExecutiveYesYesYes
HeadYesYesYes
ManagerYesYesYes
LeadYesYesNo
EmployeeYesYesNo
  • View — See events and vote
  • Update — Create/edit events (own events, or any event if manager+)
  • Manage — Delete events
ParameterTypeDescription
statusstringFilter by status: proposed, confirmed, completed, cancelled
ColumnTypeDescription
idTEXT PKUUID
titleTEXTEvent name
descriptionTEXTEvent details
proposed_dateTEXTSuggested date
confirmed_dateTEXTConfirmed date (set by manager)
locationTEXTEvent location
image_urlTEXTUploaded image URL
statusTEXTproposed / confirmed / completed / cancelled
proposed_byTEXT FKUser who proposed the event
ColumnTypeDescription
idTEXT PKUUID
event_idTEXT FKEvent reference
user_idTEXT FKVoter

Unique constraint on (event_id, user_id) — one vote per user per event.

FilePurpose
src/routes/events.tsxRoute definition
src/hooks/use-events.tsTanStack Query hooks
worker/routes/events.tsAPI endpoints