Data model
The main things Tangle Campus keeps track of and how they relate. Only the information that matters to understanding the product is shown.
Student profile
A person's account and profile.
| Property | Type | Notes |
|---|---|---|
name | string | |
profile_photos | string | Up to six |
university | string | The circle they are currently active in |
study_details | string | Degree type, course and year |
interests | string | |
verified | bool | University email confirmed |
Circle
A community space. It is either a university, an association that spans universities, or a large event.
| Property | Type | Notes |
|---|---|---|
name | string | |
type | string | university, association or event |
join_policy | string | Associations: open or officer approval |
positions | string | Associations: officer positions |
starts_at | date | Event circles |
ends_at | date | Event circles |
Club
A student club inside a university circle.
| Property | Type | Notes |
|---|---|---|
name | string | |
description | string | |
category | string | |
privacy | string | Public or private |
join_by_request | bool | |
membership_fee | string | Optional |
approval_status | string | pending, approved or rejected |
events_payout_mode | string | Paid events pay out to the club, or the creator chooses |
Club membership
Links a student to a club, with an optional officer position.
| Property | Type | Notes |
|---|---|---|
position | string | President, vice president, treasurer, secretary, events officer, membership officer or communications |
status | string | Active or requested |
Event
An activity that students can join. Events can belong to a group, a club or a mentorship programme.
| Property | Type | Notes |
|---|---|---|
title | string | |
starts_at | date | |
location | string | |
description | string | |
price | string | Free or paid |
attendee_limit | int | Optional, with optional waiting list |
private | bool | |
request_to_join | bool | |
payment_approval | string | Paid club events: pending, approved or rejected |
Group
A chat-based community with its own members and events.
| Property | Type | Notes |
|---|---|---|
title | string | |
description | string | |
privacy | string | Public or private |
member_limit | int | Optional |
request_to_join | bool | |
membership_fee | string | Optional |
Campus post
A text, media or poll post in a circle's feed.
| Property | Type | Notes |
|---|---|---|
text | string | |
post_type | string | Text, media or poll |
category | string | |
anonymous | bool | Shown under a nickname |
Mentorship programme
A programme with its own feed, events, chats, members and information documents.
| Property | Type | Notes |
|---|---|---|
name | string | |
description | string | |
info_documents | string |
Matchmaking event
A time-boxed event in a circle in which students opt in, review candidates and are matched to tables and time slots.
| Property | Type | Notes |
|---|---|---|
name | string | |
status | string | Draft, browsing open, flash round, live or closed |
browsing_window | date |
Match
Two students who both said yes, with a table, a time slot, each person's RSVP and a check-in outcome.
| Property | Type | Notes |
|---|---|---|
table | string | |
time_slot | date | |
rsvp | string | Going or not going, per student |
check_in | string | Met, no-show or could not find each other |