Skip to content

국민은행 소프트웨어 경진대회 공모전 출품을 위해 진행하는 프로젝트입니다.

Notifications You must be signed in to change notification settings

J-MU/ESGCompetitionProject_server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

목차

1. 프로젝트 소개
2. 기술 스택
3. 구현 기능
4. 배운점
5. 아쉬운점 & 보완 계획
6. 보완 하고 싶은 점

프로젝트 소개

위 프로젝트는 국민은행 소프트웨어 경진대회 출품작 입니다.

"대부분 사람들은 환경 문제의 심각성을 인지하고 있지만 환경 보호 활동을 꾸준히 실천하는 사람들은 많지 않고 실천조차 하지 않는 사람도 많다" 라는 문제점을 인식하고 이를 해결하기위한 프로젝트를 기획하였습니다.

본 앱은 사용자들이 쉽고 작은 여러 미션을 친구와 함께 수행할 수 있는 기능을 제공함으로써 친환경 보호를 필수적으로 실천하는 '필환경' 인구 수 증가 를 목표로 하고 있습니다.

또한 본 팀 [그린메이트] 에선 이를 초·중 교육 수 업에서 활용될 수 있을 거라 기대하고있습니다.

MAIN FLOW: 선생님이 그룹을 만들어 학생들을 초대하고 미션 수행 감독 아이들의 환경에 대한 관심도 및 참여도를 증가시킬 수 있을거라 기대합니다. 추후 교육용 UI를 따로 제작하여 업데이트할 예정입니다.

클라이언트 Repository주소: https://github.com/HeewonP825/KBbank_GreenusClient

기술 스택

구현 기능

  • 친구를 초대해 미션을 함께 진행
  • 좋아요 기능 및 알림 기능을 통해 서로의 미션 참여 독려
  • 랭킹 제시를 통한 경쟁 심리 유발
  • 인증을 통해 미션 수행여부 공유

[좌측] 이미지는 유저를 검색하여 친구요청을 보내는 화면이다. 유저의 이름 또는 유저에게 주어진 고유 번호를 통해 검색 할 수 있다.
[우측] 인증 게시글에 좋아요를 누르거나 본인이 참여한 미션에 누군가가 인증을 올린다면 알림이 들어온다.

[좌측] 미션에서 친구들과 본인의 랭킹을 알 수 있다. 이를 통해 경쟁 심리를 유발한다.
[우측] 미션에 대해 인증사진을 올릴 수 있으며 친구들은 이를 확인하고 좋아요를 눌러 독려할 수 있다.

배운점

J-MU: 까다로운 SQL문이 많았고 이를 해결해가는 과정에서 SQL에 대한 이해도가 늘었음을 느낀다. 또한 처음 클론코딩을 제외하면 처음 진행해보는 프로젝트라 기획부터 개발까지의 전체적인 프로세스를 경험해봤다는 것이 가장 큰 성장포인트라 생각한다. 기획한 내용을 바탕으로 ERD설계와 API를 뽑아내는 작업이 뭐든 구현할 수 있겠다는 자신감을 준거같다. "하나의 함수는 하나의 기능만 수행해야한다"라는 원칙에 맞춰 구현하려고 노력했다. 아직도 어렵긴 하지만 그런 방향으로 생각해나가면서 저번 원티드 프로젝트 때 보다 코드를 쓰는 능력이 향상되었다고 느낀다.

JeJe: 이전까지의 프로젝트는 기능 구현에 초점을 두었다면, 그리너스 프로젝트는 실제 앱 스토어 출시를 목표로 했기 때문에 성능 측면에 초점을 맞췄다. 따라서 어떻게 하면 중복을 줄이고 속도를 올릴 수 있을까를 고민하면서 코드를 짰고 db에 값을 넣고 조회하는 과정에서도 속도를 향상시키고자 노력했다. 이런 실제적인 고민들을 하면서 공부에도 도움이 많이 되었고 프로젝트의 퀄리티를 더 높일 수 있었던 거 같다.

아쉬운점

J-MU: 시간에 쫓겨 구현하다보니 Validation이 부족한 API가 많은거 같다. 함수를 어떻게 나눌것인가를 신경쓰면서 구현하긴 했지만 다시읽어보면 부족한 점이 많이 보인다. 앞으로 조금씩 Refactoring을 해보면서 개선해보려 한다. 또한 이번 프로젝트에서 Swagger를 통해 API문서 자동화 서비스를 구축하고 Mocha나 Jest같은 테스팅 툴을 사용해보는 경험을 해보고싶었는데 적용을 하지 못했다. 다음 프로젝트에서는 이러한 툴들을 사용해보고 익숙해지고싶다.

JeJe: 개발 기간이 짧지는 않았지만 제대로 계획을 세우지 못해 마지막에는 시간에 쫓겨 기능 구현에 급급했던 부분들이 아쉬웠다. 마지막 부분인 알림 부분에서는 코드가 조금 복잡했는데 시간적인 여유가 있었다면 더 깔끔하게 짤 수 있었을 것 같다. 다음 프로젝트에서는 개발 일지와 계획서를 좀 더 꼼꼼하게 작성하고 체크해 마지막에 서두르는 일이 없도록 할 것이다.

보완 하고 싶은 점

  1. 다시 읽어보면 더 읽기 쉬운코드를 짤 수 있었겠다. 더 나은 SQL문을 구현할 수 있었을거 같다는 생각이 든다. 코드를 다시 살펴보면서 Refactoring을 진행해 보고싶다.
  2. s3연결을 구현해 내긴 했으나 기술의 이해도가 조금 낮은상태이다. 조금더 공부하고 개선하려 한다.
  3. 자잘한 버그들이 많이 남아있다. 이러한 버그들을 꾸준히 디버깅해 나가려한다.

About

국민은행 소프트웨어 경진대회 공모전 출품을 위해 진행하는 프로젝트입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages