Loopin connects users through local events and coordinated group coordination. This document details the product logic, from event discovery to real-time chat coordination.
The diagram below maps the primary lifecycle of user interaction:
flowchart LR
A[User discovers event] --> B[User opens event details]
B --> C[User joins or creates group]
C --> D[Group join request is approved]
D --> E[User enters realtime group chat]
E --> F[Users coordinate attending the event]
- Categories: Events are cataloged by category (for example
TECH,STARTUP,TRAVEL,SOCIAL,CREATIVE, andOTHER) and by type (EVENTorACTIVITY). - Free vs. Paid: Events can be free or paid. Paid events require explicit price parameters.
- Status: Events can be
DRAFT,PUBLISHED,COMPLETED, orCANCELLED. OnlyPUBLISHEDevents are discoverable by regular users.
- When a user wants to attend an event with others, they can either:
- Create a Group: The user becomes the group admin/moderator. They define group details (title, maximum size, rules, introductory note).
- Join an Existing Group: The user submits a request to join an active group associated with that event.
- Group Constraints:
- Groups cannot exceed their defined
max_members. - Users can only view and participate in chats of groups where their membership status is
APPROVED.
- Groups cannot exceed their defined
To maintain a safe environment, joining a group is not always automatic:
- Request Submission: The user submits a join request with an optional introductory message.
- Review: The group's admin reviews requests via
/groups/{groupId}/join-requests. - Outcome:
- Approve: The user's status shifts to
APPROVED, they are added to the group member list, and they gain access to the WebSocket chat room. - Reject/Delete: The request is rejected or cancelled.
- Approve: The user's status shifts to
To ensure community safety, Loopin enforces content filters:
- Banned Words Filter: When creating events or sending chat messages, content is checked against a configurable moderation list (
moderation.banned-words). - Role Hierarchies:
- Regular User: Can create events, create groups, apply to join groups, and chat.
- Group Admin: Moderate their own groups (approve/reject users, update group settings).
- System Admin (ADMIN): Possess global moderation controls. They can update user roles, delete users, flag events, and access dashboard metrics.