IT/프로젝트

[KU Friend Matcher] 프로젝트 개요: 고려대학교 학생 친구 찾기 플랫폼

kykyky 2024. 2. 19. 01:33

✅ 프로젝트 개요


고려대학교 학생들이 자신을 다양한 해시태그로써 표현하고,
다른 가입자들을 해시태그를 통해 필터링하여, 자신에게 맞는 친구를 찾을 수 있는 웹서비스
 


✅ demo

 
▶ 메인 페이지
자신의 Bio(자기소개)와 Hashtags 설정을 완료한 상태.
(찾고자 하는 친구의 특성 Hashtags 설정도 완료되었음)

 
 
친구 찾기 페이지
특정 친구를 Add한 상태.

 
 
친구 목록
해당 친구가 추가된 상태.

 
 
✅ 구현된 기능
 

▶ 로그인/로그아웃, 회원가입
로그인을 시도하면, 사용자의 비밀번호는 여러 조건들을 만족해야 로그인에 성공한다.
 - including a special character, lowercase, and uppercase letter, etc. And it is stored in the database after hashed. 

▶ 사용자 bio 생성
User can set up a bio and freely introduce him/herself.

▶ 사용자 해시태그 설정
User can choose hashtags to represent him/herself, so that we can have more "categorized" system for exploring each other.

▶ 사용자가 선호하는 친구 찾기 
User chooses "what type of friend" user wants to find, and starting with the person with the highest number of matches, people will be displayed in descending order. Now user can add them as a friend. 

 

✅ 소스코드 디렉토리 구조

 

✅ ISO/IEC 9126 품질 특성 모델에 따른 평가

 

출처: http://www.splex.co.kr/isoiec-9126-25010

 

1. 기능성
- 사용자의 다양한 입력에 대해 까다로운 Validation 과정을 거치도록 했기 때문에, 정확한 결과를 제공할 수 있음

 
2. 신뢰성
- 시스템 상 오류가 발생한 경우에 전체 서버를 멈추고 해결한 후 재가동해야 하므로, 오류 허용성이 낮음

 
3. 사용성
- docker image를 통해, 사용자가 웹사이트 이용을 위해 복잡한 환경 설정을 거칠 부담이 줄어듦
- 사용자가 이용하기 편리한 인터페이스로 디자인하였음

 
4. 효율성
- 데이터베이스의 부하가 작은 경우에는 잘 운용되나, 데이터 양이 많아질 경우 기능 수행의 처리시간이 길어질 수 있으므로 부하 분산 등 대책이 필요함

 
5. 유지보수성
- 변경될 수 있는 parameter들은 대부분 config로서 별도로 설정해놨기에, 수정이 용이함
- 웹페이지의 기능을 위한 동작들은 모두 module화를 하였기에, 재사용이 쉬우며, 문제 발생 시 파악이 용이함

 
6. 이식성
- 부가적인 환경 설정 없이 docker image만으로 실행이 가능하므로 이식성이 높음