구현 요구사항

프로젝트 수행을 위해 충족되어야 하는 요구사항에 대해 서술한다.

기능적 요구사항

ㆍ사용자 인증

회원제를 바탕으로 서비스를 운영한다. 사용자의 인증 방식으로는 JWT (JSON Web Token)을 채택한다. 인증 데이터가 메타 데이터의 특성을 가진다는 점을 고려하여 HTTP의 Authorizaion 헤더를 사용하여 통신한다.

  1. JSON Web Token

  2. HTTP Authorization header

ㆍ학교 구성원 인증

소융대의 구성원으로 해당 웹 서비스 기능을 사용하려면 포탈 시스템을 통해 구성원임을 인증해야 한다. (1) 지원하는 API가 있을 경우, 기존의 것을 사용. - HTTP API (2) 없을 경우, 웹 크롤링으로 직접 결과 도출. - requests, beautifulsoup, selenium

  1. HTTP API

  2. Web Crawling

ㆍ게시물 태깅

보다 직관적으로 게시물을 관리하기 위한 모든 게시물에 대한 통합 및 태깅 작업을 수행한다. 기존의 트리 형태로 게시판 구조를 구축하던 기존 커뮤니티의 정적 속성을 대체하고 보다 유동적으로 커뮤니티를 구축할 수 있다. 또한 태그를 이용한 검색 기능을 통해 기존의 문자열 매칭보다 더 빠른 결과를 가져올 수 있다.

ㆍ투표 및 설문조사

소융대 운영을 위한 여러 투표 및 설문조사 기능을 제공한다. 정보 제공에 대한 사용자의 익명성 및 여러 설문조사 플랫폼을 벤치마킹하여 자체 기능으로 충분히 대처할 수 있도록 완성도를 높여야 한다.

ㆍ대외활동 정보 크롤링

소융대 구성원이 관심을 가질만한 대외활동&공모전, 취업정보 등을 수집하여 게시한다.

Web Crawling

ㆍ서버 구축 및 배포

해당 웹 서비스는 AWS에서 상용 서버를 구축하여 배포한다. 프로젝트 환경은 Docker Container를 통해 유지 보수를 효율적으로 관리하도록 한다.

  1. AWS EC2

  2. Docker Container

ㆍ수집된 데이터 통계 및 시각화

수집된 게시물 및 설문조사 등을 비롯한 사용자 데이터를 바탕으로 결과에 대한 다양한 데이터 시각화를 제공한다.

  1. Seaborn

  2. Matplotlib

비기능적 요구사항

ㆍ사용성 요구사항

배포되는 서비스는 다음에 해당되는 모든 플랫폼에서 동작할 수 있도록 한다. 브라우저: Chrome, Edge, Safari 각 모바일 기기의 웹 브라우저 모바일 어플리케이션: Android (확장 예정)

ㆍ저작권법 준수

크롤링하는 모든 정보에 대하여 대한민국 저작권법에 준수한 절차를 따른다. 동의받지 않은 저작물은 함부로 사용해 서는 안되며, 부득이하게 사용하게 될 경우에는 저작인격권을 모두 존중하여야만 한다. 이런 경우 '저작자 표시', ' 동일성 유지'의 권리를 존중하며 저작물을 사용한다.

ㆍ배포 요구사항

외부 수집 데이터를 포함한 웹 서비스의 모든 자료는 각 사이트에서 전체를 대상으로 공개한 정보들로만 제한 한다. 본 프로그램은 해당 페이지를 쉽게 찾을 수 있도록 연결시킬 뿐, 비공개 정보를 유출시키지 않도록 한다.

Last updated