/imonitor-app

๐Ÿ‘€ Online Cheating Prevention App Platform - imonitor ๐Ÿ‘€

Primary LanguageSwift

๐Ÿ‘€ imonitor - ์˜จ๋ผ์ธ ์‹œํ—˜ ๋ถ€์ •ํ–‰์œ„ ๋ฐฉ์ง€ ์•ฑ ํ”Œ๋žซํผ

์‹œ์—ฐ ๋™์˜์ƒ: https://www.youtube.com/watch?v=9g9JMfP7k7Y&feature=youtu.be

๐Ÿ“ ์ฃผ์š” ๊ธฐ๋Šฅ

1. Eye Tracking

  • ์‹œ์„  ์ธ์‹์„ ํ†ตํ•ด ๋ถ€์ •ํ–‰์œ„๋ฅผ ๊ฐ์ง€

2. ์‹ค์‹œ๊ฐ„ ์ฑ„์ 

  • ์‘์‹œ์ž๊ฐ€ ๋‹ต์•ˆ์„ ์ œ์ถœํ•œ ์งํ›„ ์ฑ„์  ๊ฒฐ๊ณผ ์ถœ๋ ฅ

โฐ ํ”„๋กœ์ ํŠธ ์ผ์ •

  • 7์›” 31์ผ

    • LoginViewController ๋ ˆ์ด์•„์›ƒ ์ž‘์—… ์™„๋ฃŒ
    • MainViewController ๋ ˆ์ด์•„์›ƒ ์ž‘์—… ์™„๋ฃŒ
  • 8์›” 5์ผ

    • DetailViewController๋กœ ๋ฐ์ดํ„ฐ ๋กœ๋“œ ์™„๋ฃŒ
  • 8์›” 7์ผ

    • Eyetracking ๊ธฐ์ˆ  ์—ฐ๋™ ์™„๋ฃŒ
  • 8์›” 8์ผ

    • Eyetracking count ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    • Eyetracking ์ดํƒˆ ์‹œ ๊ฒฝ๊ณ ์ฐฝ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • 8์›” 9์ผ

    • ExamViewController ๋ ˆ์ด์•„์›ƒ ์ž‘์—… ์™„๋ฃŒ
  • 8์›” 10์ผ

    • DetailViewController ๋ ˆ์ด์•„์›ƒ ์ž‘์—… / ๋ฐ์ดํ„ฐ ๋กœ๋“œ ์™„๋ฃŒ
  • 8์›” 11์ผ

    • ExamViewController ๋ฐ์ดํ„ฐ ๋กœ๋“œ ์™„๋ฃŒ
  • 8์›” 12์ผ

    • JSON ์—ฐ๋™ ์‹œ์ž‘
  • 8์›” 14์ผ

    • ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๋ ˆ์ด์•„์›ƒ ์ž‘์—… ์™„๋ฃŒ
  • 8์›” 15์ผ

    • UserInfo ํŒŒ์‹ฑ ์™„๋ฃŒ
  • 8์›” 18์ผ

    • LoginAPI ์—ฐ๋™ ์™„๋ฃŒ
  • 8์›” 19์ผ

    • SignUpAPI ์—ฐ๋™ ์™„๋ฃŒ
  • 8์›” 20์ผ

    • LoginViewController ๊ฒฝ๊ณ ์ฐฝ ์ž‘์—…, ํŽ˜์ด์ง€ ์ด๋™ ์ž‘์—… ์™„๋ฃŒ
  • 8์›” 26์ผ

    • ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ฒฝ๊ณ ์ฐฝ ๊ธฐ๋Šฅ ์ž‘์—… ์™„๋ฃŒ
    • CourseInfo ํŒŒ์‹ฑ ์™„๋ฃŒ
    • JSON ํŒŒ์‹ฑ ํ›„ MainViewController Table View ์ •๋ณด ์‚ฝ์ž… ์™„๋ฃŒ
  • 8์›” 27์ผ

    • Logout ๊ฒฝ๊ณ ์ฐฝ ๊ธฐ๋Šฅ ์ž‘์—… ์™„๋ฃŒ
  • 8์›” 30์ผ

    • DetailViewController์— ๋ฐ์ดํ„ฐ ํŒŒ์‹ฑ ์ž‘์—… ์™„๋ฃŒ
  • 9์›” 1์ผ

    • SubmitViewController ๋””์ž์ธ ์™„๋ฃŒ
  • 9์›” 3์ผ

    • Exam ๋ฐ์ดํ„ฐ ๋กœ๋“œ ์™„๋ฃŒ
    • AnswerList SubmitViewController์— ์ „์†ก
  • 9์›” 4์ผ

    • ScoreViewController -> MainViewController ์ด๋™ ์ž‘์—… ์™„๋ฃŒ
  • 9์›” 6์ผ ~ 9์›” 7์ผ

    • Submit ์ •๋ณด Post ์ž‘์—… ์™„๋ฃŒ
  • 9์›” 8์ผ

    • Score ๊ณ„์‚ฐ ๊ธฐ๋Šฅ ์ž‘์—… ์™„๋ฃŒ
  • 9์›” 9์ผ

    • ScoreViewController ๋ฐ์ดํ„ฐ ๋กœ๋“œ ์ž‘์—… ์™„๋ฃŒ
  • 9์›” 10์ผ

    • ์ „์ฒด์ ์ธ ๋ ˆ์ด์•„์›ƒ ๊ฒ€ํ†  ๋ฐ ๋ณด์™„
    • RxSwift - Login ์ž‘์—… ์™„๋ฃŒ

๐Ÿ’ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

  • Swift

  • RxSwift


๐Ÿ“ ์„ค๊ณ„ ๊ธฐ๋ฒ•

Agile Process + Waterfall Process

Agile Process (๊ฐœ๋ฐœ ์ดˆ๊ธฐ)

  • ์ „์ฒด์ ์ธ ํ”„๋กœ์ ํŠธ ๊ธฐํš ๋ฐ ๊ตฌ์ƒ

Waterfall Process

  • ERD ๊ตฌ์ถ•
  • ์„ธ๋ถ€ ๊ธฐ๋Šฅ ๊ตฌ์ถ•

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

  1. SeeSo ๋กœ๊ทธ์ธ (https://seeso.io)
  2. ๋ผ์ด์„ ์Šค ํ‚ค ๋ฐœ๊ธ‰
  3. 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)
                    }
               }
        }   
}

๐Ÿ—ฃ ์„ธ๋ถ€ ์„ค๋ช…

์Šคํฌ๋ฆฐ์ƒท 2020-09-10 ์˜คํ›„ 6 34 11

์Šคํฌ๋ฆฐ์ƒท 2020-09-11 ์˜คํ›„ 4 51 02

์Šคํฌ๋ฆฐ์ƒท 2020-09-10 ์˜คํ›„ 6 34 37

์Šคํฌ๋ฆฐ์ƒท 2020-09-10 ์˜คํ›„ 6 34 47

์Šคํฌ๋ฆฐ์ƒท 2020-09-10 ์˜คํ›„ 6 34 59