Skip to main content

Entity Documentation Index

This document provides comprehensive documentation for all entities in the FishingLog system.

Core Entity Categories

User & Authentication

User Entities - User accounts, authentication, profiles, and social relationships

  • User, UserFriend, UserFollow, Circle, CircleMember, UserFavoriteSpecies, UserProfile, UserBan, UserReport, CircleApplication, CircleShare, UserDefinedModel

Fishing Logs & Sessions

Fishing Log Entities - Fishing sessions, catches, verification, and environmental data

  • FishingSession, FishingLogEntry, CatchDetail, Telemetry, SessionTelemetry, Weather, Current, CatchVerification, CatchVerificationEvidence, CatchVerificationWitness, AiVerificationRequest, DataSharingAgreement, DnrAccessLog

Gear Management

Gear Management Entities - Fishing gear including rods, reels, lures, lines, and setups

  • Brand, Rod, Reel, Lure, Line, GearSetup, GearVariant, RetailLink

Rod Building - Custom rod building system

  • RodBuild, RodBlank, RodComponent, Guide, GuidePlacement, RodWrap, RodFinish, RodBuildingTool

Line Spooling - Complex line spooling configurations

  • ReelSpooling, LineSegment, LineSegmentConnection, Knot

Apparel - Fishing clothing and accessories

  • Apparel (with type-specific fields for waders, boots, gloves, hats, sunglasses)

Social Features

Social Entities - Posts, comments, likes, forums, and mentorship

  • Post, Comment, PostLike, PostMedia, Forum, ForumPost, Mentorship

Tournaments

Tournament Entities - Tournament management, registrations, and results

  • Tournament, TournamentRegistration, TournamentResult, TournamentCategory, TournamentTeam, TournamentPrize, TournamentRule, TournamentSponsor, TournamentEligibilityRule

Charters

Charter Entities - Charter listings, bookings, and captain management

  • CharterCaptain, CharterListing, Booking, BookingParticipant, CharterAvailability, CharterPricing, CharterListingImage

Clubs & Groups

Club Entities - Fishing clubs and memberships

  • FishingClub, ClubMembership, ClubEvent

Group Entities - User groups and communities

  • Group, GroupMember, GroupPost

Events

Events Entities - Fishing events (expos, seminars, workshops)

  • FishingEvent, FishingEventRegistration, FishingEventSeminar, FishingEventVendor, FishingEventSponsor

Spots & Reports

Spot Entities - Fishing spots and boat ramps

  • FishingSpot, SpotRating, BoatRamp, SpotAccess

Report Entities - Fishing condition reports

  • FishingReport, ReportConditions, ReportRating

Media & Content

Media Entities - Media library organization

  • MediaLibrary, PhotoAlbum, FishingVideo, FishingArticle

Payments & Subscriptions

Payment Entities - Stripe payments and subscriptions

  • Subscription, Dispute, PaymentRetry

Notifications

Notification Entities - User notifications

  • Notification

Fish Species & Taxonomy

Fish Species Entities - Fish species and relationships

  • FishSpecies, FishSpeciesRelationship, TaxonomicRank

Weather & Environmental

Weather Entities - Weather, lunar, and tide data

  • LocationWeatherHistory, LunarData, TideData, FishingConditionsRating, FishingSuperstition

Regulations

Regulations Entities - Fishing regulations and Master Angler programs

  • State, FishingZone, ZoneBoundary, FishingRegulation, MasterAnglerProgram, MasterAnglerSpecies, MasterAnglerSubmission

Personal Best

Personal Best Entities - Personal best tracking

  • PersonalBestCriteria, PersonalBest

Ice Fishing

Ice Fishing Entities - Ice fishing equipment and setups

  • IceFishingSetup, IceFishingSetupRod, IceFishingSetupTipUp, IceHole

Boats

Boat Entities - Boat tracking and equipment management

  • Boat, BoatEquipment, BoatEquipmentPlacement, BoatMountingTrack, BoatModel, BoatManufacturer, BoatStyleModel, BoatOwnershipHistory

Captain Licenses

Captain License Entities - Captain's license tracking

  • CaptainLicense, LicenseRenewalEvent, LicenseRenewalEventRegistration, LicenseRenewalHistory

Three.js 3D Models

Three.js Entities - 3D model management

  • ThreeJsModel, ModelVariant, UserModelCustomization, RodModel, ReelModel, EquipmentModel, ModelTexture

Advertising

Advertising Entities - Ad campaign management

  • AdvertiserAccount, AdCampaign, AdCreative, AdImpression, AdClick, AdvertiserPayment, AdvertiserInvoice, AdvertiserTeamMember

Education

Education Entities - Fishing courses and certifications

  • FishingCourse, CourseModule, CourseEnrollment, CourseCertification

Conservation

Conservation Entities - Conservation programs and tagging

  • ConservationProgram, ProgramParticipation, FishTag, TagReport

Research

Research Entities - Research projects and data contributions

  • ResearchProject, ProjectParticipation, DataContribution

Marketplace

Marketplace Entities - Gear marketplace listings

  • MarketplaceListing

Common & System Entities

Common Entities - System-wide entities

  • FeatureFlag, AuditLog, ContentModerationResult, ModerationSettings, ModerationRule, LookupTable, SystemSetting, SiteAnnouncement, Theme, AdminPermission

Additional Documentation

Specialized System Documentation

These systems have comprehensive documentation in the source code:

Common System Documentation

Quick Reference

Entity Documentation Structure

Each entity is documented with:

  • Purpose: What the entity represents
  • Key Fields: Important properties and their meanings
  • Relationships: How it connects to other entities
  • Usage Patterns: Common ways to use this entity (with code examples)
  • Considerations: Important notes and future-proofing considerations

Source Code Location

All entity source files are located in:

FishingLog.Infrastructure/Entities/

Entity documentation files (README files) are co-located with the entity source code for easy reference.