user_meta
This is a table where all meta information of each user is stored. These are non-critical user data fields which may not need to be queried every time a user details are fetched. Hence separate table.
Model
Field | Type | Nullable | |
---|---|---|---|
id | int4 | ||
user_id | int4 | ||
initial_100_tokens_earned | bool | False | |
gupshup_opt_in | bool | False | |
created_at | timestamp | ||
updated_at | timestamp | ||
last_login_at_bolbhav_plus | timestamp | ||
last_login_at_trader_app | timestamp | ||
source_of_onboarding | text | ||
is_first_validation | bool | True | |
profile_image_url | text | ||
user_name | text | ||
address | varchar(50) |
Description of fields
id
This is the primary key
user_id
The id of the user for which this meta information belongs to. This is a foreign key on person table.
initial_100_tokens_earned
We send several WhatsApp based notifications to keep our users engaged. One such notification is triggered when user earns their first 100 tokens. This field is by default set to false
and once user earns their first 100 tokens, this is set to true and a notification gets sent to the user. We require this boolean field so that the system doesn't the notification again for the same user.
gupshup_opt_in
To be added
created_at
The timestamp when a user meta row is first created.
updated_at
The timestamp at which a user meta row is last updated.
last_login_at_bolbhav_plus
The last login time of a user in the bolbhav plus app. This field is updated from the login API that the Bolbhav app (ReactNative) uses.
last_login_at_trader_app
The last login time of a user in the bolbhav plus app. This field is updated from the login API that the trader app (FlutterFlow) uses. This is different from last_login_at_bolbhav_plus
field is because to make it flexible for a case when a user may login to trader app and then to bolbhav app, their app specific last login time remains unaffected.
source_of_onboarding
This field contains the app from where the user's entry was registered for the first time. Since we store all users (trader and farmers) from the two apps into a single table, this field helps to determine the source of onboarding for a specific user.
The possible values in this field are:
bolbhavplus_app - if the user was first registered from Bolbhav app
trader_app - if the user was first registered from Trader app
This field currently only holds data for certain number of rows as it was introduced at a later phase before trader app. It's safe to assume that the user meta rows with null values in source of onboarding would either be coming from bolbhav app or pre-bolbhav app duration.
is_first_validation
Default set to true. More details need to be added.
profile_image_url
The URL for profile image as uploaded by the user. This contains the S3 asset URL.
user_name
Full name of the user as entered by them in the profile page.
This field looks duplicate of the name field in person table. This needs to be discussed with the team and ideally should be removed if this turns out to be duplicate.
address
Address of the user entered by them in the profile page.
Last updated