Futr Connect - Database Models¶
This document provides a comprehensive overview of all database models used in the Futr Connect platform. Models are organized by their primary domain and include all fields, relationships, and constraints.
User Management Models¶
User¶
id(UUID, primary key)email(varchar, unique, required)full_name(varchar, nullable)avatar(ImageField, nullable)password(varchar, required)title(varchar, nullable)location(varchar, nullable)organization_name(varchar, nullable)about(text, nullable)is_soft_delete(boolean, default: false)is_terms_agreed(boolean, default: false)professional_email(varchar, unique, nullable)is_professional_email_primary(boolean, default: false)
CompanyFollow¶
id(UUID, primary key)follower(ForeignKey to User)company(ForeignKey to Company)
FavoriteNewsFeed¶
id(UUID, primary key)news_feed(ForeignKey to NewsFeed)user(ForeignKey to User)
PodcastLike¶
id(UUID, primary key)podcast(ForeignKey to Podcast)user(ForeignKey to User)
Notification¶
id(UUID, primary key)title(varchar, nullable)image(ImageField, nullable)message(text, nullable)target_user(ForeignKey to User)actions(jsonb, nullable)is_read(boolean, default: false)content_type(ForeignKey to ContentType)object_model_id(UUID)notification_type(varchar, choices: NOTIFICATION, INFORMATION, ACTIVITY, default: NOTIFICATION)
Company Models¶
Company¶
id(UUID, primary key)category(ManyToManyField to CompanyCategory, nullable)name(varchar, required)email(varchar, required)company_founded(date, nullable)phone_number(PhoneNumberField, nullable)logo(ImageField, nullable)meeting_url(URLField, nullable)short_video(URLField, nullable)first_call(FileField, nullable)demo_video(FileField, nullable)first_call_url(URLField, nullable)demo_video_url(URLField, nullable)overview(text, nullable)about(text, required)best_suited_for(jsonb, default: [], nullable)where_to_use(text, nullable)standout_function(text, nullable)status(varchar, choices: draft, published, unpublished, default: draft)publish_date(datetime, nullable)user(ForeignKey to User)is_claimed(boolean, default: false)claimed_by(ForeignKey to User, nullable)is_featured_by_admin(boolean, default: false)total_followers_count(PositiveIntegerField, default: 0)total_views(PositiveIntegerField, default: 0)trial_count(PositiveIntegerField, default: 0)booked_count(PositiveIntegerField, default: 0)subscription_status(varchar, choices: subscription_active, free, cancellation_scheduled, need_subscription, subscription_cancelled, default: free)chargebee_customer_id(varchar, nullable)unmapped_data(jsonb, nullable)
CompanyAddress¶
id(UUID, primary key)company(ForeignKey to Company)address_1(varchar, required)address_2(varchar, nullable)postal_code(varchar, required)state(varchar, required)address_type(varchar, choices: headquarters, others)
CompanySocialLink¶
id(UUID, primary key)company(OneToOneField to Company)career(URLField, nullable)event_page(URLField, nullable)customer_portal(URLField, nullable)facebook(URLField, nullable)instagram(URLField, nullable)youtube(URLField, nullable)twitter(URLField, nullable)linkedin(URLField, nullable)website(URLField, nullable)
CompanyClaimRequest¶
id(UUID, primary key)user(ForeignKey to User)company(ForeignKey to Company)status(varchar, choices: pending, approved, rejected, default: pending)name(varchar, required)work_email_address(EmailField, required)website(URLField, required)linkedin_profile(URLField, nullable)
CompanyClaimRequestMedia¶
id(UUID, primary key)company_claim_request(ForeignKey to CompanyClaimRequest)media(FileField, required)
CompanyMember¶
id(UUID, primary key)company(ForeignKey to Company)user(ForeignKey to User)role(varchar, choices: manager, viewer, default: viewer)invited_by(ForeignKey to User, nullable)
CompanyPrivacyPolicy¶
id(UUID, primary key)company(OneToOneField to Company)file(FileField, nullable)privacy_url(URLField, nullable)
ClosureReason¶
id(UUID, primary key)title(varchar, required)is_active(boolean, default: true)
CompanyClosure¶
id(UUID, primary key)company(ForeignKey to Company)reason(ForeignKey to ClosureReason)description(text, nullable)
CompanyFreeTrial¶
id(UUID, primary key)company(ForeignKey to Company)user(ForeignKey to User)
BookedMeeting¶
id(UUID, primary key)company(ForeignKey to Company)user(ForeignKey to User)booked_url(URLField, nullable)
CompanyView¶
id(UUID, primary key)company(ForeignKey to Company)user_count(PositiveIntegerField, default: 0)
CompanyMemberInvitationRequest¶
id(UUID, primary key)email(EmailField, required)company(ForeignKey to Company)invited_by(ForeignKey to User)is_accepted(boolean, default: false)
Company Insights Models¶
DesignationType¶
id(UUID, primary key)title(varchar, required)unmapped_data(jsonb, nullable)
People¶
id(UUID, primary key)company(ForeignKey to Company)designation_type(ForeignKey to DesignationType)avatar(ImageField, nullable)name(varchar, required)title(varchar, nullable)url(URLField, nullable)
Finance¶
id(UUID, primary key)company(ForeignKey to Company)ipo_status(varchar, required)latest_funding_round(varchar, required)yahoo_finance_url(URLField, nullable)latest_valuation(varchar, nullable)annual_revenue(varchar, required)total_funding(varchar, nullable)
Metric¶
id(UUID, primary key)company(ForeignKey to Company)total_employees(varchar, required)total_customers(varchar, required)client_retention(IntegerField, nullable)
Content¶
id(UUID, primary key)company(ForeignKey to Company)link(URLField, required)title(varchar, required)video_type(varchar, required)marked_video_as(varchar, choices: demo_video, featured_video, video_call, nullable)total_count(PositiveIntegerField, default: 0)
News¶
id(UUID, primary key)company(ForeignKey to Company)source_url(URLField, nullable)total_count(PositiveIntegerField, default: 0)
NewsInteractionCount¶
id(UUID, primary key)company(ForeignKey to Company)user_count(PositiveIntegerField, default: 0)
ContentInteractionCount¶
id(UUID, primary key)company(ForeignKey to Company)user_count(PositiveIntegerField, default: 0)
Content Models¶
NewsFeed¶
id(UUID, primary key)headline(varchar, required)url(URLField, unique, required)published_date(datetime, nullable)description(text, nullable)image_url(URLField, nullable)thumbnail_image(ImageField, nullable)minute_read(PositiveIntegerField, default: 0)views_count(PositiveIntegerField, default: 0)is_active(boolean, default: false)
NewsFeedView¶
id(UUID, primary key)news_feed(ForeignKey to NewsFeed)user(ForeignKey to User)
PodcastCategory¶
id(UUID, primary key)title(varchar, required)description(text, nullable)
Podcast¶
id(UUID, primary key)user(ForeignKey to User)category(ForeignKey to PodcastCategory, nullable)title(varchar, required)description(text, nullable)thumbnail(ImageField, nullable)media_embed_url(URLField, nullable)total_views(PositiveIntegerField, default: 0)total_likes(PositiveIntegerField, default: 0)
PodcastView¶
id(UUID, primary key)podcast(ForeignKey to Podcast)user(ForeignKey to User)
Help and Support Models¶
Global¶
id(UUID, primary key)key(varchar, required)value(text, nullable)data(jsonb, nullable)
FAQCategory¶
id(UUID, primary key)name(varchar, required)description(text, nullable)
FAQ¶
id(UUID, primary key)faq_category(ForeignKey to FAQCategory)question(varchar, required)answer(text, required)
ContactUs¶
id(UUID, primary key)name(varchar, required)email(EmailField, required)subject(varchar, required)description(text, required)user(ForeignKey to User, nullable)
Subscription Models¶
CompanySubscription¶
id(UUID, primary key)company(ForeignKey to Company)plan(varchar, required)status(varchar, choices: trial, active, past_due, canceled, expired, non_renewing, default: trial)next_billing_date(datetime, nullable)trial_start_date(datetime, nullable)trial_end_date(datetime, nullable)chargebee_subscription_id(varchar, nullable)payment_method_id(varchar, nullable)type(varchar, choices: trial_plan, monthly, annual, default: annual)previous_state(varchar, nullable)chargebee_event_id(varchar, required)
CompanyTransaction¶
id(UUID, primary key)company(ForeignKey to Company)subscription(ForeignKey to CompanySubscription)chargebee_invoice_id(varchar, nullable)amount(DecimalField, required)status(varchar, choices: pending, success, failed, default: pending)payment_method(varchar, nullable)invoice_url(FileField, nullable)metadata(jsonb, nullable)payment_gateway(varchar, nullable)transaction_id(varchar, nullable)chargebee_transaction_id(varchar, nullable)discounted_amount(DecimalField, nullable)chargebee_event_id(varchar, nullable)
Admin Models¶
Adminfeedback¶
id(UUID, primary key)user(ForeignKey to User, nullable)rating(DecimalField, required)message(text, required)is_active(boolean, default: false)