티스토리 뷰

반응형

# 프로젝트 소개

제목 : TeamOne

분류 : 학교 팀프로젝트2 과목 프로젝트

팀원 : 3명

기간 : 한 학기 (3개월)

간략소개 : 학교에서 전공, 교양 팀플레이 수업을 할 때 팀원을 보다 손 쉽게 구할 수 있는 소통의 창구를 제공하는 모바일 서비스

기획의도 : 아는 친구가 없으면 팀플레이 과목에서 팀원을 구하기 굉장히 난감하고, 랜덤으로 짜진 팀원은 무임승차를 할 확률이 높기 때문에 원하는 팀원을 구하는 서비스를 기획하게 됨

주요기능

  • 회원가입, 로그인/로그아웃 (학교 재학생 인증을 위해서 자체 개발)
  • 커뮤니티 (게시판, 댓글)
  • 랭킹 시스팀 (서비스 참여 독려)
  • 유의 사용자 지정 기능
  • 게시물 검색, 필터
  • 리뷰 (팀원 평가, 내가 한 평가 조회, 내가 받은 평가 조회)
  • 게시물 즐겨찾기
  • 쪽지(메시지) 기능

사용기술

  • 프론트 : 안드로이드-코틀린, 레트로핏2
  • 백 : 스프링 부트-자바, Spring Data JPA, MySQL, AWS RDS, AWS S3
  • 협업 : 깃허브, 디스코드, 노션

# 내 역할

[팀장, 백엔드 개발 메인, 프론트 서브 개발]

처음에는 백엔드를 메인으로 개발하다가 팀원 수도 적고 안드로이드 경험 팀원이 적어서 프론트 개발이 백엔드 개발보다 조금 느렸었다. 그래서 백엔드 개발을 빠르게 마치고 프론트로 투입되서 같이 개발을 진행했다. 팀장을 맡아서 매주 있는 주간 보고서 발표도 도맡아서 진행했다.

 

# 배운점/성과

[첫 규모있는 팀 프로젝트 경험]

이전까지 어느정도 규모가 있는 팀 프로젝트는 경험을 해보지 못했는데 이번 기회를 통해서 다른 사람들과 협업하면서 개발하는 경험을 할 수 있었다. 따라서 기본적인 백엔드가 해야할 CRUD 작업의 전반적인 흐름을 익힐 수 있었다.

 

[REST API 서버 개발]

프론트와 백이 완전히 분리되어 서로 REST 방식으로 통신하는 REST API 서버의 개념을 이론적으로만 알고 있었는데 실제로 구현해보는 경험을 할 수 있었다. 

어떤 방식으로 오류를 내려야 할지, 예외 처리는 어떻게 해야할지, 어떤 DTO를 제작해서 내려줘야 할지 직접 경험하면서 노하우를 쌓을 수 있었다.

 

[안드로이드-코틀린 개발]

안드로이드 프로그래밍을 학교에서 자바로만 아주 간략하게 배웠었는데, 이번 실전 프로젝트에서 코틀린으로 실제 서비스 되는 앱 수준까지의 개발 수준으로 프론트 개발을 도와줬다. 이를 통해 안드로이드 프로그래밍에 대한 이해도와 코틀린 언어에 대한 숙련도가 많이 증가하였다.

 

[이메일 인증 구현 및 세션 기반 사용자 인증 구현]

이메일을 통해서 사용자를 인증하는 방법과 세션을 이용해서 인증하는 방법을 직접 구현 했다. 이를 통해 각 방식에 대한 이해도가 대폭 증가했다. 직접 만든 인증 방식에 보안상의 이슈가 있음을 발견하고, Spring Security의 존재성과 필요성을 느끼게 되었다.

 

# 어려웠던 점과 해결방법

[안드로이드-서버 통신 문제]

레트로핏2 사용법이 미숙했고, 브라우저와 통신하는 방법과는 아예 다른 방식으로 모바일 앱(애뮬레이터)와 통신하는 방법이 처음이라 많은 시행착오를 겪었었다.

 

[마감 기간 엄수]

프로젝트 마감 기간이 정해져있어서 마지막에 기능 구현을 목표보다는 시연 중심 목표로 개발을 진행해서 그 부분이 조금 아쉬움이 많이 남는다. 서버쪽은 괜찮은데 프론트쪽이 기능 구현이 조금 부족한 면이 있었는데, 이는 나중에 실제 서비스를 출시하게 된다면 보완할 예정이다.

 

# 프로젝트 결과물

https://github.com/MJTeamProject2/TeamOne-FrontEnd

 

GitHub - MJTeamProject2/TeamOne-FrontEnd: TeamOne : 팀플레이 팀원을 쉽게 구해주는 서비스 / 안드로이드 클

TeamOne : 팀플레이 팀원을 쉽게 구해주는 서비스 / 안드로이드 클라이언트. Contribute to MJTeamProject2/TeamOne-FrontEnd development by creating an account on GitHub.

github.com

https://github.com/MJTeamProject2/TeamOne-BackEnd

 

GitHub - MJTeamProject2/TeamOne-BackEnd: TeamOne : 팀플레이 팀원을 쉽게 구해주는 서비스 / 스프링 REST API 서

TeamOne : 팀플레이 팀원을 쉽게 구해주는 서비스 / 스프링 REST API 서버. Contribute to MJTeamProject2/TeamOne-BackEnd development by creating an account on GitHub.

github.com

 

 

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