Skip to main content

Overview

The Horse Trust platform uses MongoDB with Mongoose for data modeling. All models include automatic timestamps and validation.

User Model

Manages user accounts with roles (admin, seller) and authentication.

Schema Definition

Reference: models/User.ts:19-48

Seller Profile Sub-Schema

Sellers have additional verification fields:
Reference: models/User.ts:5-17

Pre-save Hook (Password Hashing)

Reference: models/User.ts:50-57

Instance Methods

Reference: models/User.ts:59-70

Horse Model

Represents horses listed for sale on the platform.

Schema Definition

Reference: models/Horse.ts:40-65

Location Sub-Schema

Reference: models/Horse.ts:27-38

Photo Sub-Schema

Reference: models/Horse.ts:4-12

Video Sub-Schema

Reference: models/Horse.ts:14-25

Full-text Search Index

Reference: models/Horse.ts:67-71

Pre-save Hook (Video Embed URLs)

Automatically converts YouTube and Vimeo URLs to embed format:
Reference: models/Horse.ts:74-91

VetRecord Model

Stores veterinary health records for horses.

Schema Definition

Reference: models/VetRecord.ts:24-41

Vaccine Sub-Schema

Reference: models/VetRecord.ts:5-13

Certificate Sub-Schema

Reference: models/VetRecord.ts:15-22

Conversation Model

Manages chat conversations between users.

Schema Definition

Reference: models/VetRecord.ts:56-75

Last Message Sub-Schema

Reference: models/VetRecord.ts:46-54

Message Model

Stores individual chat messages.

Schema Definition

Reference: models/VetRecord.ts:79-91