박동규: 마이페이지 관리 기능
배서현: 로그인, 회원가입, 세션유지 기능
황지원: 설문조사 생성 기능
이수민: 배포 전 요구사항 설정 기능
원종혁: 결과 페이지 조회 기능
데이터 수집의 중요성이 커진 요즘 시대이니만큼 크고 작은 사업에 있어서 타겟이 되는 고객들이 원하는 요구를 파악하는 것이 중요해졌습니다.
이러한 정보들을 모으는 효과적인 방법중 하나가 설문조사를 통한 데이터 수집입니다. 하지만 대다수 사람은 설문조사에 잘 응해주지 않아 정보를 모으기 쉽지 않은 게 가장 큰 문제점입니다.
이러한 문제점을 해결하고자 저희는 설문조사 대행 서비스를 만들게 되었습니다. 의뢰인이 설문조사 지를 작성하고 저희 서비스에 요청하게 되면 요구되는 설문 인원수와 마감 날짜 등을 맞춰서 대리로 사람들에게 설문에 대한 응답을 받아줍니다.
이러한 서비스를 통해 의뢰인은 원하는 만큼의 설문 응답을 받을 때까지의 수고와 시간을 줄여서 효과적인 사업 계획을 기획하는 데 이바지할 수 있습니다.
- 사용자
- 설문조사를 만드는 주체
- 설문조사
- 통계 자료를 얻기 위하여 어떤 주제에 대해 문제를 내어 묻는 조사.
- 질문
- 설문조사에 포함된 각각의 문제
- 대답
- 문제에 대한 결과, 응답
- USER
attribute | type | description |
---|---|---|
user_id (PK) | int | 사용자 PK |
bank_accout | varchar(255) | 은행 계좌 |
birth | DATE | 생일 |
varchar(255) | 이메일 주소 | |
password | varchar(255) | 비밀번호 |
phone_number | varchar(255) | 전화번호 |
user_name | varchar(255) | 사용자 이름 |
- SURVEY
attribute | type | description |
---|---|---|
survey_id (PK) | int | 설문조사 PK |
publish_start | DATE | 배포 시작일 (예정일) |
publish_end | DATE | 배포 종료일 (마감일) |
publish_state | varchar(255) | 배포 상태 (배포 전, 배포 중, 배포 끝) |
required | int | 설문 요구 인원 |
survey_name | varchar(255) | 설문조사 이름 |
user_id (FK) | int | 설문조사 생성자 |
- QUESTION
attribute | type | description |
---|---|---|
question_id (PK) | int | 설문의 질문 PK |
question_content | varchar(255) | 질문 내용 |
survey_id (FK) | int | 설문조사 FK |
- QUESTION VALUE
attribute | type | description |
---|---|---|
qustion_value_id | int | 대답 PK |
value | int | 질문에 대한 대답 내용 |
question_id (FK) | int | 질문 FK |
-테이블을 여러 Entity를 만들고 양방향 맵핑을 하고 결과를 확인하는 과정에서 똑같은 데이터가 반복적으로 출력되어 서버가 죽는 현상이 발생했습니다. 이를 해결하기 위해서 부모 클래스에 @JsonManagedReference, 자식 클래스에는 @JsonBackReference를 코드를 작성해줌으로써 문제점을 해결할 수 있었습니다.
박동규: 되게 오랫동안 진행된 프로젝트라서 느슨하게 진행해도 될 것 같았다고 생각했지만, 실제 개발은 프로젝트 막바지에 거의 다 한 것 같습니다. 계획을 세우고 이에 따라 작은 미션을을 해결하는 방식으로 프로젝트가 진행되었다면 좋았을 것 같은 아쉬움이 있습니다. 다들 고생 많으셨습니다.
배서현: JAVA 수업 중 미니프로젝트를 하면서 테이블 관계에 대해 1:1로 매핑해서 join의 형태를 만들었던 적이 있는데 그 당시에 하나의 테이블끼리만 매핑하여도 제대로 동작하지 않고 겨우 매핑에 성공하여 데이터를 가져왔었는데 이번 프로젝트를 하면서 Entity끼리의 매핑 방법에 조금 더 깨우친 느낌이 들고 매핑하면서 느꼈던 순환참조의 문제도 어떻게 해결해야할지에 대해 조금씩 알게된 프로젝트였습니다. 그리고 처음 의지와는 다르게 프론트단을 빼게 됨으로써 웹페이지상태로 연결되지 않은 점과 게시판 형태로의 출력, 데이터 입출력에 대해 무결성을 처리하지 못한점이 아쉽게 느껴졌습니다.
황지원: 중간 프로젝트 기간이랑 겹쳐서 시간적으로나 체력적으로나 조금 한계를 느낀 프로젝트였지만, 좋은 팀원분들 덕분에 무사히 잘 마친 것 같습니다! 그리고 각자의 코드를 합치는 과정에 있어서 '협업'의 어려움을 제대로 실감했고, 어려웠던 것 만큼 배워가는 점도 많았습니다. 다들 고생 많으셨고 감사했습니다 !!
이수민: 혼자라면 못했을 프로젝트를 좋은 팀원들을 만나 할 수 있었던 것 같습니다. 이 프로젝트로 맵핑을 처음 해봤는데 맵핑이 꼬이면 실행되지 않고 맵핑 부분에서 많은 시간을 소비한 것 같습니다. 하지만 그 과정에서 팀원들끼리 다양한 방법으로 오류를 해결해 나가는 부분이 좋았습니다! 중간프로젝트로 인해 시간이 부족하여 원하는 결과를 도출하지 못한 것이 아쉬웠습니다. 프로젝트 진행하면서 많이 도와주고 서로서로 응원하는 모습 좋았습니다. 다들 감사했습니다!
원종혁: 이번 프로젝트를 통해 이전에 감이 잡히지 않았던 spring과 Annotation을 활용하는 방법들을 이해하고 활용하는 방법을 알게 되었습니다. 또한 팀원들이 각자 작성한 코드를 merge로 병합하는 과정을 통해 git으로 협업해보고 아이디어 구상부터 코드 병합까지 협업하는 전체적인 흐름을 알 수 있는 좋은 경험이었습니다.