Skip to content

Team-Greendar/GreendarServer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

매일 매일의 일상에 환경을 더하는 캘린더, Greendar

🌎 환경 보존을 위한 일상&환경이 있는 캘린더 🌎


구글 솔루션 챌린지란 ?

UN의 지속 발전 가능한 17가지 목표 중 원하는 주제를 선택하여 ,구글의 기술을 이용하여 주제에 맞는 문제를 해결하는 글로벌 대회입니다

전반적인 대회 일정

  1. 2023년 1월 11일부터 신청시작
  2. 2023년 1월 18일 솔루션 챌린지 전체 킥오프
  3. 2023년 3월 17일 ~ 3월 31일 제출

TEAM 십시일반 개발팀 👨‍👨‍👧‍👦

image image image image
조성현(@chosunghyun18) 조유리(@jorippppong) 김서희(@Arielle0222) 윤병욱(@speculatingwook)
Team Lead / Back End Frontend Lead / Front End Follower / Front End Follower / Back End

Front-end

Category Stack
Language - Kotlin
Infra - Firebase

Back-end

Category Stack
Framework - Spring Boot 2.7.7
Test - JUnit 5
Infra - GCP storage
Database - MySql 8.0

Communication

Category Stack
Communication google Meet
Documents Notion

프로젝트 개요

안녕하세요. 매일 매일의 일상에 환경을 더하는 캘린더, Greendar 를 소개 합니다.

요즘 대부분의 사람들은 생계 유지를 위해서, 자신의 커리어를 쌓기 위해서, 가족들을 위해서 등등 여러가지 이유로 도시에서 살아가고 있습니다. 실제로 인류의 절반인 35억명이 오늘날 도시에서 살고 있고, 2030년까지는 50억명이 도시에 살 거라고 합니다.

그만큼 많은 사람들이 한정된 공간에서 생활을 하다 보면 잘못하면 많은 문제가 생길 수 있습니다. 물, 하수, 공기의 질같은 생활환경들은 도시에서 밀집된 사람들에게 많은 영향을 미칩니다. 자료를 찾아보면 세계 도시들은 지구에서 3%의 면적을 차지하는데 비해, 지구 전체의 에너지 소비량의 60%~80%, 탄소 배출량은 75%를 차지합니다.

이렇게 좁은 공간에서 엄청난 탄소 배출량을 내보내니, 공기의 질은 정말 안좋을 수 밖에 없습니다. 실제로 2016년에는 도시 거주자의 90%가 안전 기준에 미달하는 공기를 마셔 대기오염으로 420만 명이 사망했습니다. 지금 이 순간에도, 전 세계 도시인구의 절반 이상은 안전기준보다 최소 2.5배 높은 대기오염에 노출되어 있습니다.

많은 탄소 배출량과 에너지 소비량으로 인해 피해를 보는건 사람들 뿐만이 아닙니다. 탄소 배출량과 에너지 소비량이 점점 늘어나면서 지구의 기후도 바뀌고 있습니다. 바뀌는 기후 탓에 산림, 사람, 동물들 모두가 위험해지고 있습니다. 현재 전체인구의 22%의 인구가 산림에 생계를 유지하고 있지만, 기후변화와 사람들의 이기심 때문에 점점 사막이 되어가고 있습니다. 거의 매년 지구가 대한민국의 면적만큼 사막화가 진행되고 있는것과 거의 유사합니다.(1200만 헥타르)

이런 문제들을 누가 해결할 수 있을까요?

도시에서 하루를 보내다 보면 주변에 바쁘게 살아가는 사람들을 많이 볼 수 있습니다. 그런데 매일 뉴스를 보면 환경 문제가 자주 나오곤 합니다. “기후 위기가 5년새 1천배 폭증” , “이상 기후현상 포착” 같은 기사가 나옵니다. 하지만 대부분의 사람들은 이런 환경문제가 이성적으로는 해결해야 한다고 생각합니다. 하지만 자신이 뭘 어떻게 해야하는지 알지 못하고, 알더라도 까먹습니다.

각자의 바쁜 일정이 적혀있는 달력을 보다 보면 지나가듯 3월 21일에 세계 숲의 날, 3월 20일 세계 꿀벌의 날, 7월 7일 국제 맑은 공기의 날 등등 많은 기념일들이 작게 적혀있습니다. 그런데 이 날은 어떤 날인지, 뭘 하는지, 뭘 위해서 있는 날인지조차 모르고 지나갈 때가 많습니다.

저희는 이런 도시 사람들의 환경에 대한 무관심부터 바꿔야 한다고 생각합니다. 그만큼 사람들의 인식이 변화하려면 우리 일상 속에 환경문제들이 스며들어야 하고 익숙해져야 합니다. 마치 코로나 초창기에는 우리 모두가 마스크 쓰기를 힘들어 했지만 지금은 습관적으로 착용하고,이제는 마스크가 익숙해져서 오히려 벗기 싫다는 사람들이 있는 것 처럼 말입니다.

다시 말해, 우리 도시에서 사는 사람들은 각자의 일상이 바빠 다른 부가적인 문제들을 신경쓰기 쉽지 않습니다. 그래서 바쁜 도시 사람들을 위해, 환경문제 완화를 위해 언제 어떻게 행동해야 하는지 구체적으로 알려주는 서비스, 그리고 자신의 일상이 녹아들 수 있는 서비스가 있다면 좋을 거라고 생각했습니다.


제안 배경

****문제 제기****

  1. 생물다양성 감소

환경보호 문제는 어제오늘 일이 아닌 현 상황에서 이미 상당한 기간동안 국내외를 막론하고 각국의 정부, 국제기관들은 이 문제를 공론화했습니다. 특히 국제 환경기관에서는 생물 다양성 감소 문제에 대해 집중하고 있습니다.

생물다양성 이란?

: 유전자, 종, 생태계를 포함한 지구상에 존재하는 생명 전체로 종을 기준으로 하위엔 유전자 다양성, 상위엔 육상, 해양 등의 생태계를 의미.

생물 다양성 감소의 대표적인 원인으로는 기후 변화를 꼽고 있는데 이 기후변화의 가장 큰 요인은 온실가스 배출의 증가입니다. 산업과 도시가 발전함에 따라 온실가스 배출량은 자연스럽게 증가했고 심각성을 깨달은 국가와 기업들은 RE100, 파리기후협약(2015) 등 기후변화를 막기 위한 세계적인 움직임을 보이고 있습니다. 하지만 상당수의 국가들이 앞선 협약이 무색한 움직임을 보이고 있어 일각에선 허울 뿐이라며 비판하고 있습니다.

기후총회 끝나기 무섭게 '탄광‧LNG 확보' 뛰어든 세계…무색한 탄소감축 - CBS노컷뉴스, 이정주 기자

지구는 역사 상 총 5차례의 대 멸종(Mass Extinction)을 겪었는데, 그 중 공룡의 멸종을 5차 대 멸종 이라 칭합니다. 국내외 생태학자들은 그간의 대 멸종으로 대체로 동물이 사라진 것과 달리 지금의 생태계는 식물이 사라지고 있음에 집중하고 있습니다. 세계자연기금(WFF)에 따르면 전 세계 나무 종 30%가 멸종했고 특히 아마존 나무 종 58%가 멸종위기에 놓여있다고 합니다. 인구 도시 몰림 현상과 더불어 계속해서 커지고 있는 도시의 대기오염 문제는 지구의 허파라 불리는 아마존 숲이 감당하기엔 벅찬 문제임에 틀림없습니다.

앞서 식물이 사라지고 있다 언급했는데 식물은 생태계 최하위계층으로 식물<곤충<동물, 새 등으로 먹이사슬로 연결되어 있어 식물 종이 사라지고 있다는 말은 즉, 생태계 전반이 흔들리고 있다고 할 수 있습니다.

그럼 여기서 도시와 생물다양성의 상관관계에 대해 집고 가도록 하겠습니다. 기존의 대 멸종은 대륙이동, 화산폭발 등 천재지변으로 발생했던 것과 달리 여섯 번째 대 멸종이라 불리는 현재의 생물 다양성 붕괴 현상은 천재지변과는 상관이 없는 인간, 특히 외곽보다 도시에 의해 발생하고 있다는 것이 학계의 주장입니다. 실제로 2020년 OECD에서 발간한 “Regions and Cities at a Glance” 중 SDG11과 관련된 내용에서 도시의 발전이 대기오염과 같은 기후변화에 영향을 주고 있다고 언급하고 있습니다.

OECD (2020), OECD Regions and Cities at a Glance 2020, OECD Publishing, Paris, 

  1. 너무 많은 환경 기념일

매년 3월 21일, 5월 20일, 9월 7일이 무슨 날인지 아시나요?

처음부터 각각 세계 숲의 날(3.21.), 세계 꿀벌의 날(5.20.), 푸른 하늘의 날(9.7.)로 각국의 정부, 기관, 시민단체가 환경보호를 위한 노력에 동참해 줄 것을 촉구하기 위해 제정된 날입니다. 하지만 일반인 입장에서 앞선 날들이 무슨 환경기념일인지 한번에 말할 수 있는 사람들이 얼마나 될까요? 일단 저희부터도 Greendar 앱 구상 초기에 식목일 이외에도 이렇게 많은 환경 기념일이 많았는지 몰랐으니, 일반인들은 그 비율이 상당할 것이라 생각했습니다. 3. 환경보호 중요하지. 하지만 일부러 시간을 내서 하기엔 일이라 부담스러워

확실히 주위를 보면 과거보다는 기후변화에 대한 인식을 갖고 있는 사람이 많은 것은 분명합니다. 실제로 주위 몇몇에게 물어본 결과 연령을 불문하고 환경보호 운동에 대해 긍정적인 반응을 보였지만 다음과 같은 반응 역시 보였습니다.

                                     “나무라도 심어야 되나? 하지만 그러기엔 부담스러워.”

환경단체에 가입되어 있지 않는 이상 시간을 내서 무언가를 한다는 것은 바쁜 현대인들에게는 또다른 일이 될 수 있다는 생각을 가진 사람들이 많은 것으로 보입니다.

해결 포인트

  1. 앱 내 국제자연보전연맹(ICUN)의 REDLIST 사이트 연결을 통해 위기 종에 대한 사람들의 인식을 높이자!

종종 언론에 멸종위기 생물들에 대한 보도를 찾아볼 수 있는데 유명한 종들이 대부분입니다. 하지만 그건 일부에 불과하다는 것은 분명한 사실이기에 앱을 사용하는 도중에 자연스럽게 접할 수 있는 환경을 구현하고자 했습니다. 부차적으로 앱을 일정기간 이상 사용하다 보면 내가 왜 이 앱을 사용하고 있었는지에 대한 생각이 들 수 있는데 그럴 때마다 체크리스트와 함께 띄워져 있는 동식물들을 볼 수 있어 실제로 내가 환경보호 활동을 하고 있구나 하는 직접적인 피드백을 받을 수 있을 것이라 생각합니다.

  1. 환경 기념일을 한번에 모은 캘린더를 만들어 때가 되면 알려주자!

앞서 언급했던 환경기념일 외에도 정말 많은 기념일들이 존재하기에 이런 환경기념일을 한번에 모아둔 캘린더가 있으면 편하겠다는 생각을 했습니다. 대부분의 사람들이 저마다 다양한 목적으로 캘린더를 쓰고 있는 만큼 Greendar 역시 사람들에게 쉽게 다가갈 수 있을 것으로 예상됩니다.

9월 7일은 ‘푸른 하늘의 날’로 대기환경의 중요성을 알리고, 기후변화에 대한 이해와 관심을 높이기 위해 제정된 날입니다. 특히 이 날은 韓 정부가 제안해 채택된 UN 최초 공식 기념일이기도 합니다. 본 사례를 바탕으로 앱의 추가적인 기능으로서 사용자 자신만의 기념일을 만들어 타 사용자와 공유해 볼 수도 있습니다.

  1. 일상(도시) 속 실천할 수 있는 기념일 & 체크리스트를 만들자!

실제로 출시된 투두 앱들을 보면 사용자의 자발적인 참여가 중요하기에 이 점은 Greendar 역시 마찬가지라 생각했습니다. 보도된 자료에 따르면 사람들은 기념일에 대해 의미 있는 날로 생각하는 경향이 높은 것으로 나타났고 이는 곧 기념일 기반인 본 앱에 대한 안정적인 참여도를 확보할 수 있는 근거가 되리라 생각합니다. 특히 Greendar에서 제공하는 체크리스트는 일상 속에서 실천할 수 있는 리스트들로 구성되어 따로 시간을 내어 환경운동을 하기 힘들어하는 사용자들도 쉽게 참여할 수 있는 체크리스트가 제공될 것입니다. 추가적으로 앱 외적인 환경에서는 환경 기념일 주간에 현재 경영 트랜드인 ESG에 맞춰 다양한 기업과 지자체들의 행사가 동시에 이루어지고 있어 시너지 효과를 줄 수 있을 것으로 생각합니다.

한강공원은 '줍깅'이 한창...환경의 날 의미있게 보내는 시민들 - YTN, 임성재 기자

스벅, 내일 ‘리유저블컵 데이’…기업들 너도나도 친환경 - 한겨례, 옥기원 기자


프로젝트 목표

코드의 구조를 생각한 기능을 구현하자!

캘린더

  • 환경 기념일을 보여준다.
  • 해당 날에 해결한 투두를 %로 환산해서 색칠된 막대로 보여준다.
  • 날짜를 누르면 해당 날의 투두 리스트로 넘어간다.
  • 하단에는 멸종 위기의 동식물을 보여주고, 해당 이미지를 터치하면 상세한 설명을 볼 수 있는 페이지로 이동한다.
  • 계정 관리 화면에서 친구의 Greendar를 터치하면, 친구의 Greendar 현황을 볼 수 있다.

투두 리스트

  • 투두를 완료하면 체크 버튼을 터치해서 완료했음을 나타낸다.
  • 해당 투두에 사진 인증하기를 통해 사진을 올릴 수 있다.
  • 서비스에서 제공하는 투두는 수정과 삭제가 불가능하지만, 사용자가 만든 투두는 수정과 삭제가 가능한다.
  • 완료하지 못한 투두가 몇개인지 확인 할 수 있다.
  • 구글 캘린더(task) 와 연동을 하여 할일들을 표시합니다.

요구사항 명세서

Screenshot 2023-03-19 at 4 28 33 PM

ERD Table

Screenshot 2023-03-19 at 4 20 33 PM

📱UI / UX

브랜치 관리 전략

  • Git Flow를 사용하여 브랜치를 관리합니다.

  • Release,Develop 브랜치는 Pull Request에 리뷰를 진행한 후 merge를 진행합니다.

  • 메인 브렌치인 Develop인 경우 리뷰와 PR 을 필수로 하는 깃 protrction이 설정되어 있습니다.

branchImage

  • Release : 배포시 사용합니다.
  • Develop : 완전히 개발이 끝난 부분에 대해서만 Merge를 진행합니다.
  • Feature : 기능 개발을 진행할 때 사용합니다.
  • Hot-Fix : 배포를 진행한 후 발생한 버그를 수정해야 할 때 사용합니다.
  • Main : v1.0.0 , v1.1.0 과 같이 2번째 자리수의 버전 까지를 저장합니다.

    브랜치 관리 전략 참고 문헌
  • 우아한 형제들 기술 블로그
  • Bitbucket Gitflow Workflow