Skip to content

clean17/Village-Front-Project

Repository files navigation

Village 프로젝트 ( 공간 대여 )

village-sample

프로젝트 소개

  • 주변에서 춤 연습을 하거나 회의를 하거나 공부를 하려는 등의 공간을 알아보고 있나요 ?
  • 여러분에게 필요한 여러 공간을 여기서 빌려보세요 !
  • 호스트는 공간을 등록하고 사용자는 예약, 결제를 통해 공간을 빌리는 서비스 입니다.

시연영상 ( Youtube )

https://www.youtube.com/watch?v=X2QB7HTBATU&ab_channel=%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9


발표자료 ( PDF )

image

4조 village.pdf


프로젝트 기간

  • 2023-04-10 ~ 2023.05.10

팀원 소개

Front-End

박인우(팀장) 이인화
profile profile
@clean17 @01LeeInhwa

Back-End

김호현 김정욱
profile profile
@Khohyeon @juk5009

기술 스택

개발 툴

image image image

사용 언어

image image

DB

image image

프레임워크

image image

사용 기술

image image image image
image image image image image

협업 툴

image image image image image


기능정리

  • 등록된 공간 목록 조회
  • 키워드로 특정한 공간 조회
  • 카테고리 검색 조회
  • 내 주변 지도에서 등록된 공간 조회
  • 로그인된 유저로 공간 예약
  • 호스트가 승인하면 공간 결제(Bootpay)
  • 일반 유저의 호스트 신청
  • 호스트의 공간 등록 기능
  • 예약 및 결제 내역 확인
  • 예약이나 결제시 호스트에게 FCM 알림
  • 관리자가 호스트 신청 관리
  • 관리자가 등록된 공간, 유저, 예약, 결제를 모두 관리

플러터 의존성 주입

  cupertino_icons: ^1.0.2
  intl: ^0.18.0
  animated_text_kit: ^4.2.2
  animate_do: ^3.0.2
  dio: ^5.1.1
  flutter_riverpod: ^2.3.2
  riverpod: ^2.3.6
  font_awesome_flutter: ^9.0.0
  lottie: ^2.3.2
  http: ^0.13.5
  geolocator: ^9.0.2
  fluttertoast: ^8.2.1
  motion_toast: ^2.6.6
  remedi_kopo: ^0.0.2
  image_picker: ^0.8.7+3
  google_maps_flutter: ^2.2.5
  validators: ^3.0.0
  logger: ^1.1.0
  flutter_secure_storage: ^7.0.0
  flutter_swiper_null_safety: ^1.0.2
  bootpay: ^4.6.1
  api_provider_builder: ^1.0.4
  firebase_messaging: ^14.4.1
  scrollable_positioned_list: ^0.3.5
  async: ^2.10.0
  firebase_core: ^2.10.0
  provider: ^6.0.5
  cached_network_image: ^3.2.3
  flutter_html: ^2.2.1
  badges: ^3.1.1

테이블 모델링


image


구현 화면

Honeycam 2023-05-10 20-10-03 Honeycam 2023-05-10 20-10-34 Honeycam 2023-05-10 20-11-08 Honeycam 2023-05-10 20-11-42 Honeycam 2023-05-10 20-12-05 Honeycam 2023-05-10 20-12-21 Honeycam 2023-05-10 20-12-46 Honeycam 2023-05-10 20-13-12 Honeycam 2023-05-10 20-13-30 Honeycam 2023-05-10 20-13-43 Honeycam 2023-05-10 20-13-59 Honeycam 2023-05-10 20-14-17 Honeycam 2023-05-10 20-15-04 Honeycam 2023-05-10 20-15-20 Honeycam 2023-05-10 20-15-37 Honeycam 2023-05-10 20-16-01 Honeycam 2023-05-10 20-16-16 Honeycam 2023-05-10 20-16-27 Honeycam 2023-05-10 20-16-36 Honeycam 2023-05-10 20-17-07 Honeycam 2023-05-10 20-17-16 Honeycam 2023-05-10 20-17-36 Honeycam 2023-05-10 20-18-08 Honeycam 2023-05-10 20-18-23 image


기술 블로그

김정욱
https://snapdragon-maple-d1e.notion.site/34fc09fac7684501a4a29bd6da6bb8b5

박인우
https://velog.io/@merci/series/Flutter

김호현
https://oil-hail-ded.notion.site/f503f6f26b7c4a589ee379b27444f078

이인화
https://geode-krill-9ab.notion.site/Sliver-0fb83d2a0b7c4a069c73b3a2724a199a


담당 기능

박인우(프론트)

  • Flutter ( 폴더 구조 ) 및 SpringBoot 초기 세팅 ( 시큐리티, JWT인증필터, 폴더구조 )
  • 테이블 설계 주도 및 로직 초안 작성
  • Sentry로 에러로그 관리
  • jpa 로 데이터 저장 및 관계 설정
  • 서버 개발이 늦어서 API 문서틀을 만들어서 백엔드 팀원에게 전달
  • Dio 라이브러리로 데이터 요청 및 모델링 (Async/Await)
  • Riverpod 라이브러리로 상태관리 및 모든 페이지 데이터 모델링
  • Bootpay 라이브러리로 결제 데이터 관리 및 적용
  • 구글 지도 / 카카오 주소 API 로 주변 지도 보기 및 주소 검색
  • 스크립트로 EC2 자동 배포, RDS 적용
  • 내 주변 지도 페이지 (플러터)
  • 카테고리, 검색페이지 (플러터)
  • 공간 상세 페이지 (플러터)
  • 공간 등록 페이지 (플러터)
  • 결제 완료 페이지 (플러터)

이인화(프론트)

  • Riverpod 상태 관리
  • 스플래쉬 페이지
  • 메인 페이지
  • 로그인, 회원가입 페이지
  • 마이페이지
  • 호스트 신청 페이지
  • 예약내역 페이지
  • 공지사항

김호현(백)

  • 호스트 신청
  • 공간 등록, 조회, 수정
  • 예약 신청
  • 알림 (FCM)
  • 결제 (Bootpay)
  • 이미지 저장 (S3)
  • 관리자 페이지
  • RestDoc

김정욱(백)

  • 로그인, 회원가입
  • 시큐리티, JWT 토큰
  • 메인 공간 조회
  • 공간 검색(키워드, 카테고리)
  • 공간 필터링(정렬)

보완점

  • 리뷰나 스크랩기능은 어렵지 않은데 시간이 부족해 끝내지 못한 점이 아쉽다.
  • 비밀번호 찾기 기능을 하고 싶었지만 못해서 아쉽다.
  • rebase 머지를 처음 하면서 여러 어려움을 겪었지만 다음에는 경험을 바탕으로 잘 처리할 것이다.

후기

박인우

  • 프로젝트를 진행하면서 초기 계획과 많이 달라져 힘든 부분도 있었지만 조금 더 개발이라는 업무와 가까워진것 같다.
  • 팀원들을 이끌면서 팀장이라는 역할에 대해 다시 한번 생각하는 계기가 되었다.

이인화

  • 파이널 프로젝트를 하며 다양한 기능을 구현해 볼 수 있어서 재밌었습니다
  • 리버팟에 익숙하지 않아 데이터를 바인딩하는데 어려움을 겪어 아쉬웠지만 팀원들과 함께 프로젝트를 만들어 좋은 경험이었습니다.

김정욱

  • 배려심과 책임감이 강한 팀원들과 작업해서 저는 너무 행복하게 작업했습니다.
  • 6개월동안 저도 그렇고 모두들 쉴틈없이 작업했는데 다들 원하는 곳에 취업하고 좋은 결과 얻었으면 좋겠습니다

김호현

  • 프론트 와 백엔드로 나누어 프로젝트를 처음 해봤기에 소통을 하는 부분이 부족하다는 것을 느꼈습니다.
  • JPA를 처음 사용하면서 처음에는 복잡하고 힘들다고 생각을 했지만 잘 이해를 하면 오히려 편하게 사용 할 수 있다고 생각이 들었고 무엇보다도 Restdoc을 사용 하기 위해 test코드를 작성을 하며 좋은 결과를 이루었다.

About

[ 모바일 ] 공간 대여 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published