[해커톤] 온라인 학습 관리 서비스

2020. 12. 29. 13:02Projects

개요

프로젝트 명 : 온라인 학습 관리 서비스

프로젝트 구분 : 해커톤 (제9회 세종대학교 SW•AI 해커톤)

프로젝트 기간 : 2020년 12월 22일 ~ 23일

참가 인원 : 2명 (개발 2)

설명

'웹 기반 온라인 강의 관리 서비스'를 주제로 실제 온라인 학습 사이트 블랙보드의 데이터를 연동하여 학생들이 출결 및 과제 등을 수월하게 관리할 수 있도록 하는 웹 서비스를 개발하였고 대상을 수상하였습니다.

React와 Material UI를 이용하여 클라이언트를 구현하였고, Python과 Flask를 이용하여 Rest API를 구현하였습니다.

스크린샷 및 데모

로그인 페이지
메인 대시보드 페이지
출결 관리 페이지
과제 관리 페이지

느낀 점

최근 React를 이용하여 간단한 토이 프로젝트(보러가기)를 진행 한 이후로 처음 완성시킨 프로젝트이다.

기존 블랙보드 서비스는 각 과목의 출결을 확인하기 위해서는 모든 과목을 일일이 들어가서 확인해야 하는 불편함이 있었고 이를 개선하기 위해 출결을 하나로 모아서 보여주는 것으로 기획을 시작했습니다. 그렇게 가져올 수 있는 데이터를 모으다 보니 꽤 의미 있는 결과가 나오겠다 생각했고 서비스 초입인 대시보드에서 한눈에 필요 정보를 확인할 수 있도록 대시보드 설계에 노력을 기울였습니다. 그 덕분에 아주 만족스러운 결과를 도출할 수 있었습니다.

개발 단계에서 어려움을 느꼈던 부분은 과거 진행했던 토이 프로젝트는 state를 이용하여 단순히 페이지를 이동하고 각 단계를 누적하여 최종 결과를 보여주는 서비스였는데 본 서비스에서 이 방식을 적용하기에는 다소 어려움이 있었습니다. 그래서 Router 기능을 활용하였고 state는 각 컴포넌트 만의 상태를 관리하는데 사용하였습니다. 그리고 데이터를 일괄적으로 관리하기 위해 Redux를 사용하려 하였으나 제한된 시간 안에 최대한의 결과를 뽑아내는 해커톤의 특성상 Redux는 너무나도 귀찮은 존재였고 해당 부분을 Cookie로 대체하였습니다.

본 프로젝트가 해커톤에서 좋은 결과를 얻어 2021학년도 1학기 창의학기제에서도 이어나갈 수 있게 되었는데 창의학기제를 진행하는 동안 프로젝트를 더욱 발전시켜 학생들에게 직접적으로 도움될 수 있도록 노력할 예정입니다.