Feature ผู้สมัครงานค้นหาและสมัครงาน - taritinth/sw-dev-tools-and-environments-project GitHub Wiki

Flow ผู้สมัครงานค้นหาและสมัครงาน

User Flow


  1. เมื่อผู้ใช้งาน login เข้าสู่ระบบจะมาอยู่ที่หน้า Home Page
  2. จากนั้นให้ผู้ใช้งานกดเข้าไปใน Profile Page เพื่อเพิ่มประวัติส่วนตัว ประวัติการศึกษา ช่องทางติดต่อ ตำแหน่งงาน และอัพโหลดเรซูเม่ ฯลฯ
  3. เมื่อผู้ใช้งานเพิ่มหน้าโปรไฟล์สำเร็จจะกลับมาสู่หน้า Home Page อีกครั้ง
  4. ผู้ใช้งานกดเข้าหน้า Search Job Page เพื่อทำการค้นหางาน
  5. ผู้ใช้งานเลือกตำแหน่งงานที่สนใจ และจะเข้ามาสู่หน้า Apply Page
  6. หากผู้ใช้งานสนใจให้กด "Apply" เพื่อทำการสมัครต่อไป

UI Flow

Home Page


  • เมื่อผู้ใช้ (ผู้สมัครงาน) เข้ามายังหน้า Home Page จะพบกับ banner ที่สามารถไปยังหน้าค้นหางานประเภทต่าง ๆ ได้แก่ การฝึกงาน, งาน Part-time และงาน Full-time
  • ในแต่ละ banner จะมีปุ่ม Explore Now สำหรับเข้าไปยังหน้าประกาศรับงานประเภทนั้น ๆ
  • ด้านซ้ายมือของผู้ใช้จะเป็น side bar ที่รวบรวม link ไปยังหน้าต่าง ๆ ได้แก่ Home, Profile, Search Job และ Applied

Profile Page


  • เมื่อผู้ใช้ (ผู้สมัครงาน) เข้ามายังหน้า Profile Page ผู้ใช้จะสามารถกรอกฟอร์มเพื่อสร้างโปรไฟล์ของตนเองได้ โดยฟอร์มจะประกอบไปด้วย ภาพโปรไฟล์ ชื่อจริง นามสกุล การศึกษา อีเมล เบอร์โทรศัพท์ ตำแหน่งงานที่สนใจ ประเภทของงาน และไฟล์เรซูเม่
  • มุมขวาล่างของฟอร์มจะเป็นปุ่ม Done เพื่อยืนยันการสร้างโปรไฟล์ของผู้ใช้
  • ถ้าผู้ใช้ต้องการแก้ไขข้อมูลโปรไฟล์ ก็สามารถมาแก้ไขได้ที่หน้า Profile Page เช่นกัน

Search Jobs Page


  • เมื่อผู้ใช้ (ผู้สมัครงาน) เข้ามายังหน้า Search Jobs Page ผู้ใช้จะเห็นงานแต่ละ Position ที่ทางบริษัทแต่ละบริษัทประกาศหาพนักงาน ได้แก่ Software Tester, UI Designer, Full Stack Developer, UX Designer, Frontend Developer, Backend Developer, และแสดงแต่ละประเภทงาน ได้แก่ การฝึกงาน, งาน Part-time และงาน Full-time
  • ด้านบนมี Search bar สำหรับผู้ใช้ที่ต้องการค้นหาเฉพาะตำแหน่งงานที่ต้องการ และมี filter ด้านขวามือ เพื่อฟิลเตอร์ลักษณะของงาน

Apply Page


  • เมื่อผู้ใช้ (ผู้สมัครงาน) เข้ามายังหน้า Search Job และกดไปยังงานที่ตนเองมีความสนใจ website จะ interact เป็น moodle Apply Page ขึ้นมา ภายใน moodle จะเป็น description เพิ่มเติมเกี่ยวกับงานนั้น ๆ เช่น หน้าที่ความรับผิดชอบ คุณสมบัติ เป็นต้น
  • มุมขวาล่างของ moodle Apply Page จะเป็นปุ่ม Apply เพื่อยื่นสมัคร ซึ่งจะส่งโปรไฟล์ทั้งหมดของผู้สมัครคนนั้น ๆ ไปยังบริษัทที่รับสมัครงานดังกล่าว

Acceptance Test

https://docs.google.com/spreadsheets/d/1DrzDDl_gk4Mh4RM-w8MI612OaUO3hKdxE0LmQdMj6oE/edit#gid=0

Technical

Frontend

  • UI Design
  • Coding - Nuxt.js
  • Testing
  • Deployment - AWS

Backend

API Design

  • Get User Profile
GET /profiles/:userId

Response Status 200:

{
  "_id": "ObjectId(_id)",
  "profileImg": "https://i.imgur.com/tdi3NGa.png",
  "fullName": "John Doe",
  "email": "[email protected]",
  "education": "KMITL",
  "phone": "0997523664",
  "lookingFor": [
    "full-stack developer",
    "backend developer",
    "ux/ui designer"
  ],
  "jobType": "internship"
}

  • Update User Profile
PUT /profiles/:userId

Request Body:

{
  "_id": "ObjectId(_id)",
  "profileImg": "https://i.imgur.com/tdi3NGa.png",
  "fullName": "John Doe",
  "email": "[email protected]",
  "education": "KMITL",
  "phone": "0997523664",
  "lookingFor": [
    "full-stack developer",
    "backend developer",
    "ux/ui designer"
  ],
  "jobType": "internship"
}

Response Status 200:

{
  "success": true
}

  • Search Jobs
POST /search

Request Body:

{
  "searchTerm": "fullstack",
  "jobType": "internship"
  "startDate": "2022-01-01",
  "endDate": "2022-01-30"
}



Response Status 200:

{
  "jobs": [
    {
      "_id": "ObjectId(_id)",
      "company": {
         "_id": "ObjectId(companyId)",
         "fullName": "True Corp",
         "profileImg": "https://i.imgur.com/tdi3NGa.png",
         "email": "[email protected]",
         "phone": "025665565",
         "website": "https://true.co.th"
      },
      "jobTitle": "Full-Stack Developer",
      "jobDesc": "We are looking for proficient with DevOps technologies.",
      "jobType": "internship",
      "startDate": "2022-01-01",
      "endDate": "2022-01-30",
      "createDate": "2021-12-30"
    },
    {
      "_id": "ObjectId(_id)",
      "company": {
         "_id": "ObjectId(companyId)",
         "fullName": "True Corp",
         "profileImg": "https://i.imgur.com/tdi3NGa.png",
         "email": "[email protected]",
         "phone": "025665565",
         "website": "https://true.co.th"
      },
      "jobTitle": "Full-Stack Developer",
      "jobDesc": "We are looking for proficient with DevOps technologies.",
      "jobType": "internship",
      "startDate": "2022-01-01",
      "endDate": "2022-01-30",
      "createDate": "2021-12-30"
    },
    {
      "_id": "ObjectId(_id)",
      "company": {
         "_id": "ObjectId(companyId)",
         "fullName": "True Corp",
         "profileImg": "https://i.imgur.com/tdi3NGa.png",
         "email": "[email protected]",
         "phone": "025665565",
         "website": "https://true.co.th"
      },
      "jobTitle": "Full-Stack Developer",
      "jobDesc": "We are looking for proficient with DevOps technologies.",
      "jobType": "internship",
      "startDate": "2022-01-01",
      "endDate": "2022-01-30",
      "createDate": "2021-12-30"
    }
  ]
}

  • Submit an application
POST /applications

Request Body:

 {
      "job": "ObjectId(jobId)",
      "user": "ObjectId(userId)",
      "company": "ObjectId(companyId)"
 }

Response Status 200:

{
  "success": true
}

  • Develop
  • Testing
  • Deployment - AWS

Database

https://github.com/taritinth/sw-dev-tools-and-environments-project/wiki/Task-2-Flow


Back to top

⚠️ **GitHub.com Fallback** ⚠️