티스토리 뷰


💡 너디너리 원데이 프로덕트 챌린지 - Law For All ( SpringBoot / IOS)

스프링부트를 공부한 지도 어느덧 2개월이 되었다. 내가 지금까지 공부한 내용을 프로젝트에 적용하고 싶다는 갈망이 깊어지던 차에 Neodinary가 인하대 창업 지원단과 함께 개최하는 원데이 프로덕트 챌린지 | 실험실 창업 경진대회에 좋은 기회로 참여하게 되었다. 오랜만에 프로젝트에 참여해서 얻은 것도 많았던 유용한 시간이었기 때문에 회고록을 작성해보려고 한다.  

 

우선 해당 경진 대회는 23일에 인하대학교에서 오전 9시부터 오후 7시까지 열리는 원데이 프로덕트 챌린지로 하나의 프로젝트를 온전히 완성하기에는 시간이 턱없이 부족하다. 그렇기에 우리 팀은 월요일과 수요일 이틀 동안 온라인 미팅을 통해 프로젝트의 틀을 어느 정도 잡고 목요일에 본격적인 개발을 하기로 했다. 

 

 

[1] 1차 미팅 23-11-20 월요일 오후 7시

서로 첫인사를 하고, 기획자님의 요구사항을 들으며 대략적인 프로젝트의 틀을 잡았다. 요구사항 명세서를 작성하고 데이터 베이스의 대략적인 구성을 함께 잡았다. 

간단히 소개를 하자면, LFA는 Law For All의 약자로 특정 사건을 공론화하고자 하는 공익단체와 도움이 필요한 상황에서 어떤 단체에 연락해야 할지 모르는 피해 당사자를 연결해 주는 '공익 소송 매칭 플랫폼' LFA(LawForAll)이다. 요구사항 명세서는 아래와 같다.

 

- LFA 요구사항 명세서

순번
요구사항
해당 페이지 참고
요구사항명 요구사항
1 회원가입 1. 필요 페이지: 게시글 작성
2. 아이디, 비밀번호, 비밀번호 확인, 이름, 번호, 생년월일, 이메일 정보 입력
3. 개인정보동의 체크 필요
4. 공익 단체/사용자 구분 체크박스 필요
1. 공익 단체 로그인 시 단체 직원 인증(X)
2. 어떤 정보 받을지 구체화 필요
3. 어떤 페이지에서 로그인 필요한지 구체화 필요
2 로그인 1. 공익 단체/사용자 구분 체크박스 필요
2. 간편 로그인(카카오/네이버/구글)(X)
1. 실제 로그인 기능은x [공익단체/사용자]체크만 가능하도록 하여 각자 페이지로 연결되도록 구현
3 추천 기능 1. 카테고리 클릭 시 공익 단체 목록 조회 1. 카테고리: 장애/이주민/난민/탈북민/노동/청소년
2. 단체: 서울 NPO 센터에 등록되어 있는 기관 기준
4 매칭 기능 1. [사용자] - 피해 사건 게시글 작성
2. 알림 - 사용자가 선택한 카테고리에 해당하는 단체에 알림 전송
3. [단체] - 알림이 온 피해자의 게시글 목록
4. [단체] - 게시글 읽고 수임 결정
5. [사용자] - 수임 결정 단체 목록 노출-선택 시 단체 정보 조회(전화번호 등)
1. 작성 시 카테고리 분류
2. 알림 받을 기간 설정 - 직접 설정 or 7일 기본값
3. 최신 순, 오래된 순 정렬
5 배포 1. aws githubAction 1. 배포 방식 선정 필요

 

요구사항 명세서를 토대로 ERD를 작성했다. ERD Cloud 프로그램을 사용했는데 온라인으로 팀원과 협업하며 사용할 수 있어서 편리했다. 

 

 

[2] 2차 미팅 23-11-22 수요일 오후 7시

2차 미팅에는 본격적인 프로젝트 개발 환경을 구축했다. Springboot initializer를 사용해서 Spring boot 백엔드 개발 환경을 구축했는데 나는 gradel - Groovy만 사용해 봤지만 팀원분께서 Maven에 익숙하다고 하셔서 Maven 개발 환경을 채택했다. 또한 나는 Java 11 버전을 사용하기 때문에 이에 맞추어 스프링 부트도 2.7.17 버전으로 맞췄다. 


[3] 원데이 프로덕트 챌린지 당일 23-11-23 목요일

 

📖배운 점

- 다른 파트원과의 협업

지금까지 진행했던 프로젝트는 모두 같은 컴공과 학생끼리 풀스택으로 개발을 진행해서 서버 개발에 온전히 파고들지 못하고, 프론트와 백의 역할을 명확히 구분할 수 없었다. 이번에는 기획자 1명, 프론트엔드 개발자(IOS) 1명, 백엔드(Spring boot) 개발자 2명으로 구성되어서 각자의 태스크에 집중할 수 있던 점이 가장 좋았다. 

 

- Postman 사용 및 Rest API 작성 

IOS와 서버 개발이 동시에 이뤄지다 보니 이에 익숙하지 않아서 많이 헤맸다. 나는 코드 작성 결과를 바로바로 확인하고 싶은 마음에 따로 html 코드를 작성해서 localhost에 작동 결과를 확인하는 방식으로 개발을 진행하고 있었는데, 불필요한 html 코드를 작성하다 보니 해당 html 코드에서 쓸데없는 오류가 발생하고 ios와 통신을 위한 API 작성이라는 가장 중요한 부분을 놓치고 있었다. 중간중간 있었던 멘토님과의 만남 시간 덕분에 Spring Boot 멘토님께서 내가 놓치고 있는 부분을 짚어주셨고 이와 함께 'Postman'이라는 프로그램을 추천해 주셨다. 

IOS와 주고받을 API를 미리 테스트해 볼 수 있는 플랫폼이다. 프론트엔드와 연결하기 전에 미리 테스트해 볼 수 있어서 유용하게 사용했다. 

 

✏️API 문서 정리

 

Home

공익 소송 매칭 플랫폼입니다. Contribute to LawFA/LFA_Server development by creating an account on GitHub.

github.com

 

 

📖아쉬웠던 점

아무래도 시간이 부족했던 점이 가장 아쉽다. 우리 프로젝트의 주제가 정말 맘에 들어서 여러 기능들을 구현하고 싶은 게 많았는데 나는 스프링부트 뉴비이다 보니 안 그래도 짧은 시간에 많이 헤맸던 것이 너무 아쉽다. 또한 당일날 와서 보니 다른 팀들은 이미 기본 세팅뿐만 아니라 기본적인 기능 구현을 해온 상태인 것 같았다. 시연 발표에서 다른 팀들의 완성도 높은 시연 영상을 보면서 우리도 미리 준비할 걸 하는 후회가 있었다. 

 

그래도 첫 스프링 부트 프로젝트를 진행해 본 소중한 기회 덕분에 앞으로의 프로젝트에서는 어떤 것에 중점을 둬야 할지 감을 잡았다. 이번 기회로 크게 성장한 것 같고, 함께 고생해 준 팀원분들께 너무 감사하다. 

 

상세 평가 기준은 다음과 같았다.
밥이 정말 맛있었다..🤤
LFA 최고!

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함