티스토리 뷰

반응형

# 프로젝트 소개

제목 : 슬기로운 문화생활

분류 : 학교 캡스톤디자인1 팀프로젝트 과목 프로젝트

팀원 : 4명

기간 : 한 학기 (3개월)

간략소개 : 문화 정보를 종합해서 제공하고, 커뮤니티 기능을 제공하는 안드로이드 어플리케이션

기획의도 : 코로나 19 장기화로 인해 시민들의 문화생활 감소 및 문화정보 제공 어플의 부족함을 발견하고 제작하게 됨

주요기능 :

  • 현재 위치 중심 주변 문화정보 제공
  • 지역/컨텐츠 카테고리별 문화정보 제공
  • 커뮤니티 기능 (회원, 게시물, 쪽지)

사용기술 

  • 프론트 : 자바-안드로이드, 구글맵스, 레트로핏2
  • 백 : 자바-스프링 부트, MySQL, AWS RDS, Spring Data JPA

*코틀린을 사용하지 않고 자바로 안드로이드를 개발한 이유 : 팀원 모두가 자바 경험만 있어서 새로운 언어를 도입하는데 제한을 느낌

 

 

# 내 역할

[백엔드 메인 및 안드로이드 겸직 개발]

팀원들의 개발 경험과 역량이 너무나도 낮아서 (거의 무경험) 내가 모든 설계와 개발을 주도해서 했음

팀원들은 자바와 MySQL을 연동하여 Swing을 이용한 간단한 GUI 구현 경험만 있고 팀플레이 경험도 없었다. 안드로이드 프로그래밍 경험도 없고, 당연히 서버 프로그래밍과 전반적인 통신 개념도 없었다.

그래서 팀원들과 스터디를 진행하고 깃허브를 알려주고, 안드로이드를 알려주면서 백엔드를 먼저 우선적으로 빠르게 개발하고 안드로이드 개발에도 많은 기여를 했다.

(개발의 70%는 내가 혼자 진행했다.)

 

 

# 배운점/성과

[오픈 API 사용 경험]

오픈 API를 한 번도 사용해본적 없었는데, 문화정보를 가져오는데 있어서 한국관광공사에서 제공하는 문화정보 오픈 API를 사용해보는 경험을 했다. 쉬울것 같았지만, 제공되는 데이터의 타입과 방식의 차이가 있어서 상당히 애를 먹었고, 원하는 정보를 가공해서 프론트로 내려주는 과정에도 많은 시행착오를 경험했다.

https://mopil.tistory.com/39?category=1000158 

 

[Spring] Open API 가져오기 - RestTemplate, json-simple

# 서론 개발을 하다보니 서버-서버로 HTTP 요청을 보내야 하는 상황이 생겼다. 그래서 몇 가지 조사를 해본 결과 스프링에서 기본적으로 제공하는 HTTP 전송용 모듈이 몇 개 있는걸 발견했다. 그 중

mopil.tistory.com

 

 

# 어려웠던 점과 해결방법

[오픈 API 사용]

원하는 데이터를 요청하고 가져와서 가공하는 방식을 처음해봤는데 생각보다 시행착오가 많았다.

간단한 예시로 위치 정보를 어떤 데이터는 String으로, 어떤 데이터는 double 타입으로 저장해놔서 이를 발견하기 전까지 굉장히 많은 시행착오를 했다.

오픈 API 메뉴얼을 잘 읽어보고 많이 사용해보면서 해당 문제점들을 파악하고 잘 해결하였다.

 

[역량 부족 팀원과 협업]

나를 제외한 다른 팀원의 개발 역량이 거의 제로에 가까울 정도로 실력차이가 많이나서 처음에는 막막했다. 하지만 천천히 같이 공부해가면서 진행하니 최종적으로는 믿고 업무를 맡길수 있을 정도로 많이 성장한 팀원들을 볼 수 있었다.

물론 팀원들이 잘 따라와 준게 가장 크다고 생각하지만, 같이 템포를 맞춰가면서 나아가면 충분히 만족스러운 결과물을 도출해 낼 수 있음을 느꼈다.

 

[안드로이드-스프링 통신 방식의 경험 부족]

안드로이드 프로그래밍에 경험이 많지 않아서 팀원들과 같이 공부해나가면서 개발을 했는데, 클라이언트-서버 통신 부분에서 상당히 많은 시행착오를 했었다. 대표적인 시행착오는 다음과 같았다.

  • 서버 DTO 형태와 안드로이드 DTO 형태의 불일치
  • API 엔드포인트의 잘못된 매칭 및 사용
  • 서버로 부터 받아온 데이터를 프론트에서 가공하는 문제

CRUD 작업을 반복하면서 진행하면서, 통신 관련 문제가 발생했을때 어디부분이 잘못되었는지 확인할 수 있는 노하우가 쌓인것 같다.

 

[디자인 부족]

팀원들 중 디자인을 할 수 있는 사람이 없어서 내가 디자인을 했는데, 아무리 해도 뭔가 그럴싸한 디자인을 할 수 없었다.

그래서 시각적으로 보이는 결과물의 디자인이 조금 아쉽다.

 

# 프로젝트 결과물 

서버 : https://github.com/mopil/wise-culture-server

 

GitHub - mopil/wise-culture-server: 슬기로운 문화생활 REST API 서버

슬기로운 문화생활 REST API 서버. Contribute to mopil/wise-culture-server development by creating an account on GitHub.

github.com

클라이언트(안드로이드) : https://github.com/mopil/wise-culture-client

 

GitHub - mopil/wise-culture-client: 슬기로운 문화생활 안드로이드 클라이언트 (자바)

슬기로운 문화생활 안드로이드 클라이언트 (자바). Contribute to mopil/wise-culture-client development by creating an account on GitHub.

github.com

 

 

시연 영상

 

 

 

반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크