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:
- Boat Mounting Systems - Boat equipment mounting details
- Line Spooling Examples - Line spooling examples
- Three.js Textures - Texture system details
- Regulation Data Sources - Regulation data source research
- Master Angler Auto Submission - Auto-submission system
- Regulation Updates - Annual regulation updates
Common System Documentation
- Dynamic Enums - Dynamic enum system
- Dynamic Systems - Flexible entity systems
- Dynamic Systems Usage - How to use dynamic systems
- Complete Dynamic Enums - Complete enum documentation
- Future Proofing - Entity design patterns
- Internationalization - Multi-language support
Quick Reference
- Quick Logging & DNR Access - Quick logging workflow and DNR research access
- User Profile - User profile features
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.