Code Monkey home page Code Monkey logo

dog-trainer-companion-old's Introduction

A Dog Trainer Companion (dog-trainer-companion)

A Dog Trainer Companion

Install the dependencies

yarn
# or
npm install

Start the app in development mode (hot-code reloading, error reporting, etc.)

quasar dev

Lint the files

yarn lint
# or
npm run lint

Format the files

yarn format
# or
npm run format

Build the app for production

quasar build

Customize the configuration

See Configuring quasar.config.js.

dog-trainer-companion-old's People

Contributors

donnicojs avatar egentilucci avatar

Watchers

 avatar

dog-trainer-companion-old's Issues

Implement Playtime Management Section

Set up the 'Playtime Management' section to record details about the dog's play activities, including who plays with the dog, where, and the types of games.

Playtime Management Section

  • Checkbox (QCheckbox): For 'Plays With Dog'.
  • Text Area (QInput type="textarea"): For 'Playtime Details'.
{
  "playtimeManagement": {
    "type": "object",
    "properties": {
      "playsWithDog": {"type": "boolean"},
      "playtimeDetails": {"type": "string", "format": "textarea"}
    }
  }
}

General Information Form Section

Develop the 'General Information' section of the dog anamnesis form. This section collects basic details about the dog.

  • Date Picker (QDate): For selecting the date.
  • Text Fields (QInput): For 'Dog's Name', 'Age', and 'Breed'.
  • Select Dropdown (QSelect): For 'Gender', with options 'Male' and 'Female'.
"generalInformation": {
  "type": "object",
  "properties": {
    "date": {"type": "string", "format": "date"},
    "dogName": {"type": "string"},
    "age": {"type": "integer"},
    "breed": {"type": "string"},
    "gender": {
      "type": "string",
      "enum": ["Male", "Female"]
    }
  },
  "required": ["date", "dogName", "age", "breed", "gender"]
}

Sleep and Solitude Management Form Sections

Combine 'Sleep' and 'Management of Solitude' sections to cover the dog's sleeping patterns and how it handles being alone.

Sleep Section

  • Text Field (QInput): For 'Sleeping Place'.
  • Numeric Input (QInput type="number"): For 'Hours of Sleep'.
  • Checkbox (QCheckbox): For 'Dreams' (to indicate if the dog seems to dream).

Solitude Management Section

  • Numeric Input (QInput type="number"): For 'Hours Alone' (to specify the total hours the dog spends alone).
  • Checkboxes (QCheckbox): For 'Alone in the Morning' and 'Alone in the Afternoon' (to specify the times when the dog is typically alone).
  • Checkbox (QCheckbox): For 'Garden Access' (to indicate if the dog has access to a garden during solitude hours).
  • Text Area (QInput type="textarea"): For 'Additional Notes' (to allow for any extra information or observations about the dog's solitude management).
"sleep": {
  "type": "object",
  "properties": {
    "sleepingPlace": {"type": "string"},
    "hoursOfSleep": {"type": "integer"},
    "dreams": {"type": "boolean"}
  }
},
"solitudeManagement": {
  "type": "object",
  "properties": {
    "hoursAlone": {"type": "integer"},
    "aloneMorning": {"type": "boolean"},
    "aloneAfternoon": {"type": "boolean"},
    "gardenAccess": {"type": "boolean"},
    "solitudeNotes": {"type": "string", "format": "textarea"}
  }
}

Family Information Form Section

Create the 'Family' section to gather information about the dog's living situation and family environment.

Family Section

  • Dynamic Text Fields (QInput): For names of 'Family Members'.
  • Checkbox (QCheckbox): For 'Children' and 'Housekeeper'.
  • Dynamic Text Fields (QInput): For names of 'Other Animals'.
"family": {
  "type": "object",
  "properties": {
    "familyMembers": {
      "type": "array",
      "items": {"type": "string"}
    },
    "children": {"type": "boolean"},
    "housekeeper": {"type": "boolean"},
    "otherAnimals": {
      "type": "array",
      "items": {"type": "string"}
    }
  }
}

Data Collection Form

This is the overview issue, we will have detailed issues for each section

The form needs to include the following fields:

General Data (Dati Generali)

  1. General Information (Informazioni Generali):

    • Date (Data)
    • Dog's Name (Nome del cane)
    • Age (età)
    • Breed (razza)
    • Gender (Sesso)
  2. Veterinarian and Health Status (Veterinario e Stato):

    • Intact or Neutered (intero/Sterilizzato)
    • Age at Neutering (Sterilizzato all’età di)
    • Last Veterinary Visit (Ultima visita veterinaria)
      • Reason (Motivo)
      • Doctor (Dottore)
      • Relationship with the Vet (Rapporto)
  3. Family (Famiglia):

    • Family Members (Componenti Della famiglia)
    • Children (Figli)
    • Housekeeper (Colf)
    • Names (Nomi)
    • Other Animals (Altri Animali)
      • Relationship with Home Animals (Rapporto con animali di casa)
  4. Acquisition (Acquisizione):

    • Age When Acquired (A che età è stato preso)
    • Place of Acquisition (Dove)
    • Sleeping Place as a Puppy (Dove Dormiva)
    • Behavior in the Litter (Comportamento nella cucciolata)
    • Parents (Genitori)
  5. Owner's Expectations and Experience (Aspettative ed Esperienza proprietario):

    • Reason for Choosing the Breed (Motivazione nella scelta della razza)
    • Reason for Getting a Dog (Motivazione nel prendere un cane)
    • Expectations (Aspettative)
    • Previous Experience with Dogs (Ha avuto altri cani in passato)
  6. Sleep (Sonno):

    • Sleeping Place (Dove dorme)
    • Hours of Sleep (Quante ore)
    • Dreaming (Sogna)
  7. Management of Solitude (Gestione solitudine):

    • Hours Alone (Quante ore rimane solo)
    • Alone in the Morning (mattina)
    • Alone in the Afternoon (pomeriggio)
    • Presence of a Garden (Giardino)
    • Additional Notes (Note)
  8. Nutritional Management (Gestione Sopravvivenza):

    • Number of Meals (Numero di pasti)
    • Store of Purchase (Negozio dove comprati)
    • Type of Diet (Tipo di alimentazione)
    • Protein Percentage (Percentuale Proteine)
    • Person Feeding (Somministrato da)
    • Free Feeding? (Gratuito?)
    • Food Always Available? (A disposizione?)
    • Notes (Note)
    • Treats Outside Meals (Bocconcini fuori dal pasto?)
      • Who Gives? (Chi?)
      • What? (Cosa?)
      • When Given? (In che occasione)
  9. Playtime Management (Gestione momenti ludici):

    • Play with the Dog? (Giocate con il cane?)
    • Who Plays? (Chi?)
    • Where? (Dove)
    • When? (quando)
    • Duration (quanto tempo)
    • Types of Games (Tipi di giochi)
  10. Affection Management (Gestione momenti affettivi):

    • Cuddle the Dog? (Coccolate il cane?)
    • Who Cuddles? (chi)
    • When? (In quali momenti?)
    • Dog's Reaction (Come reagisce il cane?)
  11. Care (Cure):

    • Walks (Passeggiate)
      • Number of Daily Walks (Numero uscite quotidiane)
      • Location (Dove)
      • Duration (Durata)
      • Leashed? (Al guinzaglio?)
      • Off-Leash? (Viene scioltio?)
      • Socialization? (Socializza?)
      • Notes (Note)
    • Grooming (Spazzolatura)
      • Brushed? (Viene spazzolato)
      • By Whom? (Da chi?)
      • Dog's Reaction (come reagisce)
    • Bathing (Bagno)
      • Bathed? (gli viene fatto il bagno?)
      • By Whom? (da chi)
      • Dog's Reaction (come reagisce il cane)

The fileds schema is

{
  "title": "Dog Anamnesis Form",
  "type": "object",
  "properties": {
    "generalInformation": {
      "type": "object",
      "properties": {
        "date": {"type": "string", "format": "date"},
        "dogName": {"type": "string"},
        "age": {"type": "integer"},
        "breed": {"type": "string"},
        "gender": {
          "type": "string",
          "enum": ["Male", "Female"]
        }
      },
      "required": ["date", "dogName", "age", "breed", "gender"]
    },
    "veterinarianAndHealth": {
      "type": "object",
      "properties": {
        "neutered": {"type": "boolean"},
        "ageAtNeutering": {"type": "integer"},
        "lastVetVisit": {"type": "string", "format": "date"},
        "visitReason": {"type": "string"},
        "doctor": {"type": "string"},
        "vetRelationship": {"type": "string", "format": "textarea"}
      },
      "required": ["neutered", "lastVetVisit"]
    },
    "family": {
      "type": "object",
      "properties": {
        "familyMembers": {
          "type": "array",
          "items": {"type": "string"}
        },
        "children": {"type": "boolean"},
        "housekeeper": {"type": "boolean"},
        "otherAnimals": {
          "type": "array",
          "items": {"type": "string"}
        }
      }
    },
    "acquisition": {
      "type": "object",
      "properties": {
        "ageAcquired": {"type": "integer"},
        "acquisitionPlace": {"type": "string"},
        "sleepingPlace": {"type": "string"},
        "litterBehavior": {"type": "string", "format": "textarea"},
        "parents": {"type": "string"}
      },
      "required": ["ageAcquired", "acquisitionPlace"]
    },
    "ownerExpectations": {
      "type": "object",
      "properties": {
        "breedChoiceReason": {"type": "string"},
        "dogChoiceReason": {"type": "string"},
        "expectations": {"type": "string", "format": "textarea"},
        "hadDogsBefore": {"type": "boolean"}
      }
    },
    "sleep": {
      "type": "object",
      "properties": {
        "sleepingPlace": {"type": "string"},
        "hoursOfSleep": {"type": "integer"},
        "dreams": {"type": "boolean"}
      }
    },
    "solitudeManagement": {
      "type": "object",
      "properties": {
        "hoursAlone": {"type": "integer"},
        "aloneMorning": {"type": "boolean"},
        "aloneAfternoon": {"type": "boolean"},
        "gardenAccess": {"type": "boolean"},
        "solitudeNotes": {"type": "string", "format": "textarea"}
      }
    },
    "nutritionalManagement": {
      "type": "object",
      "properties": {
        "mealsPerDay": {"type": "integer"},
        "purchaseStore": {"type": "string"},
        "dietType": {"type": "string"},
        "proteinPercentage": {"type": "integer"},
        "feeder": {"type": "string"},
        "freeFeeding": {"type": "boolean"},
        "foodAlwaysAvailable": {"type": "boolean"},
        "treatsInfo": {"type": "string", "format": "textarea"}
      }
    },
    "playtimeManagement": {
      "type": "object",
      "properties": {
        "playsWithDog": {"type": "boolean"},
        "playtimeDetails": {"type": "string", "format": "textarea"}
      }
    },
    "affectionManagement": {
      "type": "object",
      "properties": {
        "cuddlesDog": {"type": "boolean"},
        "cuddleDetails": {"type": "string", "format": "textarea"}
      }
    },
    "care": {
      "type": "object",
      "properties": {
        "walks": {
          "type": "object",
          "properties": {
            "dailyWalksNumber": {"type": "integer"},
            "walkLocation": {"type": "string"},
            "walkDuration": {"type": "integer"},
            "leashed": {"type": "boolean"},
            "offLeash": {"type": "boolean"},
            "socializes": {"type": "boolean"},
            "walkNotes": {"type": "string", "format": "textarea"}
          }
        },
        "grooming": {
          "type": "object",
          "properties": {
            "brushed": {"type": "boolean"},
            "brusher": {"type": "string"},
            "brushingReaction": {"type": "string"}
          }
        },
        "bathing": {
          "type": "object",
          "properties": {
            "bathed": {"type": "boolean"},
            "bather": {"type": "string"},
            "bathingReaction": {"type": "string"}
          }
        }
      }
    }
  }
}

Owner's Expectations and Experience Form Section

Implement the 'Owner's Expectations and Experience' section to understand the owner's background and motivations.

Owner's Expectations and Experience Section

  • Text Fields (QInput): For 'Reason for Choosing the Breed' and 'Reason for Getting a Dog'.
  • Text Area (QInput type="textarea"): For 'Expectations'.
  • Checkbox (QCheckbox): For 'Had Dogs Before'.
"ownerExpectations": {
  "type": "object",
  "properties": {
    "breedChoiceReason": {"type": "string"},
    "dogChoiceReason": {"type": "string"},
    "expectations": {"type": "string", "format": "textarea"},
    "hadDogsBefore": {"type": "boolean"}
  }
}

Veterinarian and Health Status Form Section

Implement the 'Veterinarian and Health Status' section, focusing on the dog's health and veterinary history.

Veterinarian and Health Section

  • Checkbox (QCheckbox): For 'Neutered'.
  • Numeric Input (QInput type="number"): For 'Age at Neutering'.
  • Date Picker (QDate): For 'Last Veterinary Visit'.
  • Text Field (QInput): For 'Visit Reason' and 'Doctor'.
  • Text Area (QInput type="textarea"): For 'Veterinarian Relationship'.
"veterinarianAndHealth": {
  "type": "object",
  "properties": {
    "neutered": {"type": "boolean"},
    "ageAtNeutering": {"type": "integer"},
    "lastVetVisit": {"type": "string", "format": "date"},
    "visitReason": {"type": "string"},
    "doctor": {"type": "string"},
    "vetRelationship": {"type": "string", "format": "textarea"}
  },
  "required": ["neutered", "lastVetVisit"]
}

Implement Affection Management Section

Create the 'Affection Management' section to capture how and when the dog receives affection, including who cuddles the dog and the dog's reaction.

Affection Management Section

  • Checkbox (QCheckbox): For 'Cuddles Dog'.
  • Text Area (QInput type="textarea"): For 'Cuddle Details'.
{
  "affectionManagement": {
    "type": "object",
    "properties": {
      "cuddlesDog": {"type": "boolean"},
      "cuddleDetails": {"type": "string", "format": "textarea"}
    }
  }
}

Implement Care Section

Develop the 'Care' section, focusing on the dog's grooming, walking, and bathing routines.

Care Section

  • Numeric Input (QInput type="number"): For 'Number of Daily Walks' and 'Walk Duration'.
  • Text Field (QInput): For 'Walk Location'.
  • Checkboxes (QCheckbox): For 'Leashed', 'Off-Leash', 'Socializes'.
  • Text Area (QInput type="textarea"): For 'Walk Notes'.
  • Checkbox (QCheckbox): For 'Brushed' and 'Bathed'.
  • Text Fields (QInput): For 'Brusher', 'Brushing Reaction', 'Bather', 'Bathing Reaction'.
{
  "care": {
    "type": "object",
    "properties": {
      "walks": {
        "type": "object",
        "properties": {
          "dailyWalksNumber": {"type": "integer"},
          "walkLocation": {"type": "string"},
          "walkDuration": {"type": "integer"},
          "leashed": {"type": "boolean"},
          "offLeash": {"type": "boolean"},
          "socializes": {"type": "boolean"},
          "walkNotes": {"type": "string", "format": "textarea"}
        }
      },
      "grooming": {
        "type": "object",
        "properties": {
          "brushed": {"type": "boolean"},
          "brusher": {"type": "string"},
          "brushingReaction": {"type": "string"}
        }
      },
      "bathing": {
        "type": "object",
        "properties": {
          "bathed": {"type": "boolean"},
          "bather": {"type": "string"},
          "bathingReaction": {"type": "string"}
        }
      }
    }
  }
}

Acquisition Details Form Section

Develop the 'Acquisition' section, which focuses on the circumstances of acquiring the dog and its early life.

Acquisition Section

  • Numeric Input (QInput type="number"): For 'Age When Acquired'.
  • Text Field (QInput): For 'Place of Acquisition' and 'Sleeping Place as a Puppy'.
  • Text Area (QInput type="textarea"): For 'Behavior in the Litter' and 'Parents'.
"acquisition": {
  "type": "object",
  "properties": {
    "ageAcquired": {"type": "integer"},
    "acquisitionPlace": {"type": "string"},
    "sleepingPlace": {"type": "string"},
    "litterBehavior": {"type": "string", "format": "textarea"},
    "parents": {"type": "string"}
  },
  "required": ["ageAcquired", "acquisitionPlace"]
}

Nutritional Management Form Section

Develop the 'Nutritional Management' section to gather information about the dog's diet, feeding habits, and nutrition-related preferences.

Nutritional Management Section

  • Numeric Input (QInput type="number"): For 'Meals Per Day' and 'Protein Percentage'.
  • Text Fields (QInput): For 'Purchase Store', 'Diet Type', and 'Feeder'.
  • Checkbox (QCheckbox): For 'Free Feeding' and 'Food Always Available'.
  • Text Area (QInput type="textarea"): For 'Treats Information'.
"nutritionalManagement": {
    "type": "object",
    "properties": {
      "mealsPerDay": {"type": "integer"},
      "purchaseStore": {"type": "string"},
      "dietType": {"type": "string"},
      "proteinPercentage": {"type": "integer"},
      "feeder": {"type": "string"},
      "freeFeeding": {"type": "boolean"},
      "foodAlwaysAvailable": {"type": "boolean"},
      "treatsInfo": {"type": "string", "format": "textarea"}
    }
  }

Setup Project Skeleton with VueJs, Pinia, and Quasar

Description:

The purpose of this issue is to set up the initial skeleton of our Dog Trainer Data Collection application. This setup will involve configuring the project with VueJs 3.0, integrating Pinia for state management, and using Quasar for the UI framework.

Tasks:

  1. Initialize VueJs Project:

    • Create a new VueJs 3.0 project.
    • Ensure that the project is set up with the latest stable version of VueJs.
  2. Integrate Pinia:

    • Install Pinia and set it up for state management.
    • Create a basic store as an example and demonstration of how Pinia will be used in the project.
  3. Add Quasar Framework:

    • Install and configure Quasar in the project.
    • Ensure that Quasar components are compatible and work seamlessly with VueJs 3.0.
  4. Basic Routing Setup:

    • Set up Vue Router for handling navigation within the app.
    • Include at least two routes (e.g., Home and About) for initial testing.
  5. Project Structure:

    • Organize the project directory structure for components, views, stores, and other necessary folders.
    • Ensure a scalable and maintainable structure is in place.
  6. Linting and Formatting:

    • Set up ESLint and Prettier for code linting and formatting to maintain code quality and consistency.
  7. Documentation:

    • Document the setup process and the project structure.
    • Include instructions in the README for setting up the development environment.

Acceptance Criteria:

  • The project runs without errors with VueJs, Pinia, and Quasar integrated.
  • Basic navigation between different routes is functional.
  • The code is properly linted and formatted.
  • The README contains clear setup instructions.

Additional Notes:

  • The setup should focus on scalability and best practices, considering the future integration of Firebase and other features.
  • Ensure that all dependencies are compatible with each other.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.