- 진행기간
- 개요 / 서비스 소개
- 주요기능
- 발표 PPT / UCC
- 프로젝트 산출물
- 프로젝트 타임라인
- 기술 스택
- 멤버
- 프로젝트 파일구조
- 협업환경
2023.01.03(화) ~ 2023.02.17(금) (46일간 진행) SSAFY 8기 2학기 공통프로젝트
개요
💡 기존 러닝 관련 서비스 이용 후 불편했던 사항과 필요한 기능을 더해 사용자가 더 편리한 러닝 경험을 가질 수 있도록 하기 위해 프로젝트를 기획하게 됐습니다.
대표적인 러닝 어플인 ’Nike Run Club’ 과 ‘Crew Ghost’ 어플에서 경험할 수 없는 러닝 경험을 공유할 수 있는 SNS 기능과 여러 명이서 러닝을 즐길 수 있는 러닝 모임 예약 서비스 등을 주요 기능으로 합니다.
위드코로나에서 엔드코로나로
💡 여러분, 지난 시간동안 많은 시간을 집에 머물러있으면서,
이 시간이 지나면, 밖에서 달려보고 싶다는 생각 안 드셨나요?
상황이 종식되어가는 지금! 혼자의 의지로 나가기 힘드신 분들을 위해
다른 사람과 함께 뛰고, 자신의 글을 공유하며, 소통하는 SNS 기반 모바일웹을 만들었습니다.
그래서
Runstory는 여러분과 함께 달리려 합니다!
Runstory는 말그대로 “달리는 이야기”입니다.
내가 달린 기록을 저장하고, 개인피드를 통해 다른 러너와 공유합니다.
그리고 러닝크루 모집을 통해 다른 러너와 함께 뛸 수도 있습니다.
- 카카오 계정을 연동한 로그인과 일반 로그인이 모두 가능합니다.
-
러닝 모임 작성
- 해시태그, 남녀인원, 위치등을 추가하여 러닝 모임 작성이 가능합니다.
-
사용자 맞춤형 서비스
- 사용자가 선택한 해시태그 기반으로 러닝 모임을 추천합니다.
-
러닝 모임 예약 서비스
- 혼자가 아닌 함께라면 10KM의 거리도 2KM처럼 걸을 수 있습니다.
- 사용자 위치 기반의 모임들을 추천받을 수 있습니다.
- 모임 시간과 인원을 미리 알 수 있습니다.
- 댓글을 통해 사용자들과 소통할 수 있습니다.
-
미리 보는 러닝 코스
- 작성자가 직접 코스를 지도를 통해 생성함으로써 참가자는 미리 러닝 코스에 대한 정보를 얻을 수 있습니다.
- 러닝 크루 생성자는 쉽게 참여자에게 코스를 생성할 수 있습니다.
-
운동 인증 서비스
- 러닝 모임 시작 시간 전 후 10분동안 참여 인증 버튼이 활성화되며 러닝 모임 출발지와 사용자의 위치가 비슷한 경우 버튼 클릭 시 사용자의 운동이 인증됩니다.
- 사용자 위치 기반과 시간을 활용해 거짓된 인증을 차단합니다.
- 사용자가 운동을 인증한 경우 경험치를 획득할 수 있습니다.
-
피드 작성
- 여러가지 해시태그를 추가하여 개인 피드를 작성 할 수 있습니다.
-
개인 피드
-
팔로잉 회원들의 피드를 메인 피드에서 확인할 수 있습니다.
-
피드 페이지, 러닝 크루 모집 페이지에서 댓글을 통해 사용자들과 소통할 수 있습니다.
-
-
경험치를 통한 동기부여
- 댓글 확인 및 대댓글 작성이 가능합니다.
- 피드별, 유저별, 러닝크루별로 검색할 수 있습니다.
- 일대일 채팅 및 러닝 크루 단체 채팅방을 통해 사용자들과 소통할 수 있습니다.
- Tmap을 API를 사용한 지도를 통하여 지점 사이의 거리를 확인 할 수 있습니다.
- RunStory에 대해 궁금한 점이나 더 알고 싶은 점에 대한 정보를 제공합니다.
- 보고싶지 않은 사람을 차단합니다.
- Front-end
client-front
├─ package-lock.json
├─ package.json
└─ runtogether
├─ .prettierrc
├─ Dockerfile
├─ package-lock.json
├─ package.json
├─ public
├─ README.md
└─ src
├─ App.css
├─ App.js
├─ App.test.js
├─ ColorModeSwitcher.js
├─ common
├─ CreateFeed
├─ Feed
├─ font
├─ index.js
├─ Login
├─ Logo.js
├─ logo.svg
├─ MainPage
├─ RecruitCrew
├─ reportWebVitals.js
├─ RunningCrewList
├─ Search
├─ serviceWorker.js
├─ Setting
├─ setupTests.js
├─ store.js
├─ test-utils.js
└─ User
- Back-end
server-back
├─ .gradle
│ ├─ 7.6
│ ├─ buildOutputCleanup
│ │ ├─ buildOutputCleanup.lock
│ │ └─ cache.properties
│ └─ vcs-1
│ └─ gc.properties
└─ src
├─ main
│ └─ java
│ └─ com
│ └─ runstory
│ ├─ api
│ ├─ common
│ ├─ config
│ ├─ domain
│ │ ├─ chat
│ │ ├─ feed
│ │ ├─ hashtag
│ │ ├─ qa
│ │ ├─ running
│ │ └─ user
│ ├─ exception
│ │ └─ test.txt
│ ├─ repository
│ ├─ RunStoryApplication.java
│ └─ service
└─ test
└─ java
└─ com
└─ runstory
└─ RunStoryApplicationTests.java
- Gitlab
- 코드 관리
- 컨벤션을 통한 Commit방식 공유
- 기능별 Branch 세분화
- Merge Request시 팀장이 최종확인 및 피드백
- JIRA
- 매주 팀원 한 명 당 40point 분배
- Epic 설정을 통한 기능별 이슈 관리
- 할 일 -진행 중 - 완료로 업무진도율 체크
- 스크럼미팅
- 지시사항 전달
- 구현에 관한 개인목표, 개인진도 체킹
- 피드백
- 이후 구현시간동안 이슈 발생 시 자리로 이동해 협업 진행
- Notion
- ERD, API명세서 등 공유문서 관리
- 회의록 작성 및 저장
- 컨벤션 저장
- 일정 공유
- MatterMost
- 자료 실시간 공유
- 코드 실시간 공유 및 피드백 적용
- Webex
- 토요일, 일요일 작업 시 진행상황 공유 및 코드 리뷰
- 피드백 적용