Skip to content

Instantly share code, notes, and snippets.

@decagondev
Created February 18, 2025 16:52
Show Gist options
  • Select an option

  • Save decagondev/6278718e5c3da3ed323e97ad8870e849 to your computer and use it in GitHub Desktop.

Select an option

Save decagondev/6278718e5c3da3ed323e97ad8870e849 to your computer and use it in GitHub Desktop.

Superyacht Technology Platform - Database Schema Diagrams

Below are the schema diagrams for the Superyacht Technology Platform's database, visualized using Mermaid. Each diagram represents the structure of the main entities as described in the technical documentation.

User Schema Diagram

classDiagram
    class User {
        +String email
        +String password
        +String firstName
        +String lastName
        +String role
        +ObjectId company
        +String profileImage
        +String[] specializations
        +ObjectId[] projects
        +ObjectId[] savedTechnologies
        +Date lastLogin
        +Object[] refreshTokens
        +Date createdAt
        +Date updatedAt
        +comparePassword(candidatePassword)
        +generateAuthToken()
        +generateRefreshToken()
    }
Loading

Company Schema Diagram

classDiagram
    class Company {
        +String name
        +String logo
        +String website
        +String description
        +String type
        +String contactEmail
        +String contactPhone
        +Object address
        +ObjectId[] technologies
        +ObjectId[] pitchVideos
        +ObjectId[] employees
        +Number yearFounded
        +Object socialMedia
        +Date createdAt
        +Date updatedAt
    }
Loading

Technology Schema Diagram

classDiagram
    class Technology {
        +String name
        +ObjectId supplier
        +String category
        +String subcategory
        +String description
        +Object technicalSpecs
        +String installationRequirements
        +String[] certifications
        +String[] images
        +String[] manuals
        +String[] datasheets
        +ObjectId[] videos
        +Object pricing
        +String[] compatibilities
        +Date releaseDate
        +String[] tags
        +Object[] ratings
        +Number averageRating
        +Date createdAt
        +Date updatedAt
    }
Loading

Project Schema Diagram

classDiagram
    class Project {
        +String name
        +String codeName
        +String description
        +String client
        +ObjectId manager
        +ObjectId[] team
        +ObjectId shipyard
        +Object yachtDetails
        +Object[] selectedTechnologies
        +Object budget
        +Object timeline
        +String status
        +Object[] documents
        +Date createdAt
        +Date updatedAt
    }
Loading

Video Schema Diagram

classDiagram
    class Video {
        +String title
        +String description
        +String url
        +String thumbnailUrl
        +String type
        +Number duration
        +Object uploadedBy
        +ObjectId relatedTechnology
        +String[] tags
        +Number views
        +Number likes
        +Date uploadDate
        +Date updatedAt
    }
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment