Job-Circle / jcbackend

0 stars 1 forks source link

Create JobCategory DB Collection, Model #10

Open Job-Circle opened 1 week ago

Job-Circle commented 1 week ago

Fields

Field Type Required Description Validation
_id ObjectId Yes Unique identifier for the job category N/A
nameAr String Yes Name of the job category in Arabic Minimum length: 1 character
Maximum length: 100 characters
nameEn String Yes Name of the job category in English Minimum length: 1 character
Maximum length: 100 characters
isMain Boolean Yes Indicates if the job category is a main category N/A
rank Number No Indicates the rank of the job category with 1 is the highest N/A
keywords Array of Strings Yes List of keywords associated with the job category Each element must be a non-empty string
subCats Array of ObjectIds No List of _ids of subcategories (JobCategory) Each element must be a valid ObjectId
Must reference existing JobCategory documents
parentCats Array of ObjectIds No List of _ids of parent categories (JobCategory) Each element must be a valid ObjectId
Must reference existing JobCategory documents

Example

{
  "_id": ObjectId("60c72b6f9af1f2a7d4f1aacf"),
  "nameAr": "تكنولوجيا المعلومات",
  "nameEn": "Information Technology",
  "isMain": true,
  "rank": 5,
  "keywords": ["IT", "Tech", "Software"],
  "subCats": [
    ObjectId("60c72b7f9af1f2a7d4f1aad0"),
    ObjectId("60c72b8f9af1f2a7d4f1aad1")
  ],
  "parentCats": [
    ObjectId("60c72b9f9af1f2a7d4f1aad2")
  ]
}

Notes

Job-Circle commented 1 week ago

Current main cats are:

const jobCats: IJobCat[] = [
    { id: 8, nameAr: "حسابات", nameEn: "Accounting", rank: 1 },
    { id: 3, nameAr: "مخازن", nameEn: "Warehousing", rank: 2 },
    { id: 4, nameAr: "أمن", nameEn: "Security", rank: 3 },
    { id: 15, nameAr: "HR", nameEn: "HR", rank: 4 },
    { id: 6, nameAr: "سكرتارية", nameEn: "Secretarial", rank: 5 },
    { id: 14, nameAr: "سائق", nameEn: "Driver", rank: 6 },
    { id: 10, nameAr: "مبيعات", nameEn: "Sales" , rank: 7},
    { id: 11, nameAr: "كول سنتر", nameEn: "Call Center" , rank: 8},
    { id: 12, nameAr: "مطعم", nameEn: "Restaurant" , rank: 9},
    { id: 13, nameAr: "كاشير", nameEn: "Cashier" , rank: 10},
    { id: 9, nameAr: "عام شباب", nameEn: "General Youth", rank: 11 },
    { id: 18, nameAr: "IT", nameEn: "IT" , rank: 12},
    { id: 19, nameAr: "فني", nameEn: "Technician" , rank: 13},
    { id: 7, nameAr: "تدريس", nameEn: "Teaching" , rank: 14},
    { id: 1, nameAr: "هندسة", nameEn: "Engineering" , rank: 15},
    { id: 2, nameAr: "صيدلة", nameEn: "Pharmacy" , rank: 16},
    { id: 5, nameAr: "نظافة", nameEn: "Cleaning" , rank: 17},
    { id: 17, nameAr: "برمجة", nameEn: "Programming" , rank: 18},
    { id: 16, nameAr: "جرافيك", nameEn: "Graphic Design" , rank: 19},
];