Task 2 Flow - taritinth/sw-dev-tools-and-environments-project GitHub Wiki

Flow of Jobjab

เว็บแอปพลิเคชัน Jobjab เกิดจากการ brainstorm ที่ได้มาซึ่ง painpoint หาที่ฝึกงานไม่ได้ เพราะปัจจุบัน การประกาศหางานมีลักษณะเป็นแบบกระจายไปตามเว็บไซต์หรือโซเชียลมีเดียในช่องทางต่าง ๆ และมีตัวเลือกในการหางานที่หลากหลาย จึงได้เกิดไอเดียในการสร้างเว็บแอปพลิเคชันที่เป็นตัวกลางในการหางานให้กับผู้ที่ต้องการงานและผู้ว่าจ้าง

โดยมี features หลัก ๆ ดังนี้

Database Collection

แอปพลิเคชัน JobJab เลือกใช้ MondoDB เป็น Database ซึ่งมีภาพรวม Database Collection ดังนี้

  • Jobs
  • Users
  • Applications
  • Jobs คือ Collection สำหรับเก็บข้อมูลประกาศการรับสมัครงาน
{
    "company": ObjectId,
    "jobTitle": {
      type: String,
      required: true
    },
    "jobDesc": {
      type: String,
      required: true
    },
    "jobType": {
      type: String,
      enum : ['internship','fulltime','parttime'],
      default: 'fulltime'
    },
     "startDate": Date,
     "endDate": Date,
     "createDate": Date
}
  • Users คือ Collection สำหรับเก็บข้อมูลผู้ใช้ซึ่งแบ่งเป็น 2 ประเภท ได้แก่ ผู้สมัครงาน (Applicant) และ บริษัทผู้ว่าจ้าง (Company)
{
   "type": {
        type: String,
        enum : ['user','company'],
        default: 'user'
    },
   "fullName": {
        type: String,
        required: true
    },
   "email": {
        type: String,
        required: true
    },
   "phone": {
        type: String,
        required: true
    },
   "password": {
        type: String,
        required: true
    },
   "profileImg": {
        type: String,
        required: true
    },
   "website": String,
   "lookingFor": Array,	 	// For Normal User
   "educations": String, 	// For Normal User
   "jobType": String 		// For Normal User
}
  • Applications คือ Collection สำหรับเก็บข้อมูลใบสมัครงานของผู้สมัครงานที่ยื่นเข้ามาทั้งหมด
{
    "job": ObjectId,
    "user": ObjectId,
    "company": ObjectId,
    "status": {
        type: String,
        enum : ['pending','hired','rejected'],
        default: 'pending'
    },
 }

Back to top