μμ° λμμ: https://www.youtube.com/watch?v=9g9JMfP7k7Y&feature=youtu.be
- μμ μΈμμ ν΅ν΄ λΆμ νμλ₯Ό κ°μ§
- μμμκ° λ΅μμ μ μΆν μ§ν μ±μ κ²°κ³Ό μΆλ ₯
-
- LoginViewController λ μ΄μμ μμ μλ£
- MainViewController λ μ΄μμ μμ μλ£
-
- DetailViewControllerλ‘ λ°μ΄ν° λ‘λ μλ£
-
- Eyetracking κΈ°μ μ°λ μλ£
-
- Eyetracking count κΈ°λ₯ μΆκ°
- Eyetracking μ΄ν μ κ²½κ³ μ°½ κΈ°λ₯ μΆκ°
-
- ExamViewController λ μ΄μμ μμ μλ£
-
- DetailViewController λ μ΄μμ μμ / λ°μ΄ν° λ‘λ μλ£
-
- ExamViewController λ°μ΄ν° λ‘λ μλ£
-
- JSON μ°λ μμ
-
- κ²μ κΈ°λ₯ λ μ΄μμ μμ μλ£
-
- UserInfo νμ± μλ£
-
- LoginAPI μ°λ μλ£
-
- SignUpAPI μ°λ μλ£
-
- LoginViewController κ²½κ³ μ°½ μμ , νμ΄μ§ μ΄λ μμ μλ£
-
- κ²μ κΈ°λ₯ κ²½κ³ μ°½ κΈ°λ₯ μμ μλ£
- CourseInfo νμ± μλ£
- JSON νμ± ν MainViewController Table View μ 보 μ½μ μλ£
-
- Logout κ²½κ³ μ°½ κΈ°λ₯ μμ μλ£
-
- DetailViewControllerμ λ°μ΄ν° νμ± μμ μλ£
-
- SubmitViewController λμμΈ μλ£
-
- Exam λ°μ΄ν° λ‘λ μλ£
- AnswerList SubmitViewControllerμ μ μ‘
-
- ScoreViewController -> MainViewController μ΄λ μμ μλ£
-
- Submit μ 보 Post μμ μλ£
-
- Score κ³μ° κΈ°λ₯ μμ μλ£
-
- ScoreViewController λ°μ΄ν° λ‘λ μμ μλ£
-
- μ 체μ μΈ λ μ΄μμ κ²ν λ° λ³΄μ
- RxSwift - Login μμ μλ£
-
Swift
-
RxSwift
Agile Process (κ°λ° μ΄κΈ°)
- μ 체μ μΈ νλ‘μ νΈ κΈ°ν λ° κ΅¬μ
Waterfall Process
- ERD ꡬμΆ
- μΈλΆ κΈ°λ₯ ꡬμΆ
- SeeSo λ‘κ·ΈμΈ (https://seeso.io)
- λΌμ΄μ μ€ ν€ λ°κΈ
- imontor -> ViewController -> Exam -> ExamViewController -> func cameraPermissionCheck()
func cameraPermissionCheck(){
if AVCaptureDevice .authorizationStatus(for: .video) == .authorized{
GazeTracker.initGazeTracker(license: "λ°κΈλ°μ λΌμ΄μ μ€ ν€", delegate: self)
} else {
AVCaptureDevice.requestAccess(for: .video, completionHandler: {
response in
if response{
GazeTracker.initGazeTracker(license: "λ°κΈλ°μ λΌμ΄μ μ€ ν€", delegate: self)
}
}
}
}