Task 4 First flow (Killer feature) - taritinth/sw-dev-tools-and-environments-project GitHub Wiki

Killer feature - ผู้สมัครงานค้นหาและสมัครงาน

off-topic


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 สำหรับเข้าไปยังหน้าประกาศรับงานประเภทนั้น ๆ
  • ด้านซ้ายมือของผู้ใช้จะเป็น side bar ที่รวบรวม link ไปยังหน้าต่าง ๆ ได้แก่ Profile, Home, Search และ Applied

Profile Page


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

Search Jobs Page


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

Apply Page


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

  • มุมขวาล่างของ modal Apply Page จะเป็นปุ่ม Apply เพื่อยื่นสมัคร ซึ่งจะส่งโปรไฟล์ทั้งหมดของผู้สมัครคนนั้น ๆ ไปยังบริษัทที่รับสมัครงานดังกล่าว

Acceptance Test

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

List of tasks

JobJab - Asana

Deployment

Username & Password สำหรับอาจารย์เท่านั้น

Username: [email protected]
Password: 123456

Amazon ECS


Amazon ECS คือบริการจัดประสานคอนเทนเนอร์ที่มีการจัดการเต็มรูปแบบ ซึ่งช่วยให้ติดตั้งใช้จริง จัดการ และปรับขนาดแอปพลิเคชันที่มีคอนเทนเนอร์ได้

Amazon EC2


Amazon Elastic Compute Cloud (Amazon EC2) นำเสนอแพลตฟอร์มการประมวลผลที่หลากหลาย โดยมีมากกว่า 475 อินสแตนซ์และตัวเลือกล่าสุดของโปรเซสเซอร์ พื้นที่จัดเก็บ ระบบเครือข่าย ระบบปฏิบัติการ และโมเดลการซื้อ เพื่อช่วยให้ตอบสนองความต้องการด้านปริมาณงานได้อย่างมีประสิทธิภาพ

Amazon ECR


Amazon ECR คือคอนเทนเนอร์รีจิสทรีที่มีการจัดการอย่างเต็มรูปแบบซึ่งนำเสนอการโฮสต์ประสิทธิภาพสูง สามารถปรับใช้อิมเมจและสิ่งประดิษฐ์ของแอปพลิเคชันได้ทุกที่

Amazon S3


Amazon Simple Storage Service (Amazon S3) คือบริการจัดเก็บในรูปแบบอ็อบเจกต์ที่มอบความสามารถในการปรับขนาด ความพร้อมใช้งานของข้อมูล ความปลอดภัย และประสิทธิภาพระดับชั้นนำในอุตสาหกรรม

Demo and Review

Video: JobJab-Demo

Coding with Team

Commit message format

Task in project management tools (Asana)


Commit Message (Github)


Collaboration with Branch strategy


Pull Requests


  • สร้าง pull request ไปที่ branch developer เพื่อขออนุญาต merge เข้ากับงานใน branch หลัก (branch developer)

  • reviewer (สมาชิกในทีมที่เหลือ) ทำการ review pull request โดยใช้ เงื่อนไข ต่าง ๆ ตามที่เห็นสมควรกับการ merge แล้วจึงทำการ merge

  • หาก reviewer เห็นว่ายังไม่ผ่าน จะทำการ request change เพื่อให้กลับไปแก้ไข

  • Go to Work Process

Problems

package-lock.json และ yarn.lock

  • problem: 2 ไฟล์นี้เกิดโดยอัตโนมัติจากการ build project โดยใช้ npm install และ yarn install โดยไฟล์นี้จะใช้สำหรับเก็บรายชื่อของแพ็กเกจที่ถูกใช้โดยแพ็กเกจที่ใช้ในโปรเจ็คที่ระบุในไฟล์ package.json ซึ่งช่วยแก้ปัญหาการขัดแย้งกันระหว่างเวอร์ชันของแพ็กเกจ ปัญหาคือ ไฟล์เหล่านี้ทำให้โปรเจคเกิด line change มาก

  • solution: ก่อนการ PR เข้ามาภายใน branch พวกเราได้พูดคุยกันภายในทีมว่าถ้าไม่อัพ 2 ไฟล์นี้จะมีผลกระทบต่อการพัฒนาหรือไม่ จากการไปศึกษามีหลาย ๆ ที่แนะนำให้นำไฟล์เหล่านี้ขึ้น git เพราะช่วยให้เวอร์ชันของแพ็คเกจของแต่ละ developer ตรงกัน

What is the role of the package-lock.json? https://stackoverflow.com/questions/44297803/what-is-the-role-of-the-package-lock-json

Do I commit the package-lock.json file created by npm 5? https://stackoverflow.com/questions/44206782/do-i-commit-the-package-lock-json-file-created-by-npm-5?rq=1

พวกเราจึงตัดสินใจนำ 2 ไฟล์นี้เข้ามา แต่พวกเราก็ต้องยอมรับ line change ที่เพิ่มมากขึ้นด้วย ซึ่งปัญหานี้ทางทีมจะแก้ไขโดยช่วยกันปรับ line change ร่วมกัน

Anonymous account

  • problem: ตลอดระยะเวลาการทำงาน พวกเราได้ใช้ git-quick-stats เพื่อ detect line change และ participate ในการทำงาน ปัญหาคือ หลังจาก commit ไป ได้เกิด account ที่ซ้ำซ้อนขึ้นโดยไม่ทราบสาเหตุทั้ง ๆ ที่ทุกคนใช้ account เดิมในการใช้งาน git version control

  • solution: เมื่อพบปัญหาและพูดคุยกับทางทีม จึงตัดสินใจว่าจะรวบรวมแอคเคาท์ stats เพื่อแจ้งให้ทีมทราบ ดังนี้ git-quick-stats ในส่วนของ code ล่าสุด

total 377548
- Nattarinee 11620 (3%) + Nattarinee 54058 (14%) = 65,678 [[ 17% ]]
- taritinth 58493 (15%) + Tarit 2 (0%) = 58493 [[ 15% ]]
- kulasatee 56103 (15%) + kulasatee 5011 (1%) = 61,114 [[ 16% ]]
- thescene 62111 [[ 16% ]]
- maurelle 64989 [[ 17% ]]
- BeanCyw 65176 [[ 17% ]]

ซึ่งปัญหาเหล่านี้ ทางทีมจะนำไปเป็นบทเรียนและปรับปรุงให้เกิดประสิทธิภาพมากขึ้นในภายภาคหน้า


Back to top

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