pullup-kr은 공공장소에 있는 턱걸이 바를 찾고 공유하기 위한 커뮤니티 플랫폼입니다.
지도 API를 활용하여 사용자는 가입 및 로그인 후 턱걸이 바의 위치를 마커로 추가할 수 있으며,
사진 한 장과 간단한 설명을 함께 업로드할 수 있습니다.
로그인한 다른 사용자는 해당 마커에 댓글을 남길 수 있어, 정보 공유 및 소통이 용이합니다.
메인 화면 | 검색 (주변 검색, 초성 지원) | 위치 채팅 |
---|---|---|
거리뷰 (가장 가까운 위치) | 댓글 | 오프라인 저장 (카카오맵) |
---|---|---|
공유, 북마크 | 이미지 상세 | 위치 등록 |
---|---|---|
위치 삭제 | 지도 이동 | 마이페이지, 설정 |
---|---|---|
정보 수정 요청 | 수정 요청 승인 | 반응형 |
---|---|---|
- Go언어 Fiber v2, MySQL, AWS S3, LavinMQ (RabbitMQ), Redis, Bleve (Apache Lucene-like, ZincSearch에서 직접 검색 인덱싱으로 변경)
- 메인: Go, 서브: Java (전체 프로젝트 자바로도 작성 중)
- NextJS (TypeScript), Tailwind css, Storybook, Zustand, Yarn Berry (현재)
- React (TypeScript), Tailwind css, React Testing Library, Jest, NPM, Tanstack Query (변경 전)
- pprof, flamegraph, Uber's zap logger, Swagger OpenAPI, Prometheus+Grafana, Sentry
Slack (+ Slack API)
sequenceDiagram
participant User
participant AuthService as Auth Service
participant MarkerService as Marker Service
participant CommentService as Comment Service
participant ShareService as Share Service
participant SearchService as Search Service
participant AdminService as Admin Service
participant ChatService as Chat Service
participant PopularService as Popular Service
participant OfflineService as Offline Service
participant AddressService as Address Service
Note over User, AuthService: User Registration and Authentication
User->>AuthService: Sign Up with Email
AuthService->>User: Send Email Verification
User->>AuthService: Verify Email
User->>AuthService: Login
AuthService->>User: Authentication Token
Note over User, MarkerService: Marker Management
User->>MarkerService: Add Marker with Location, Photo, Description
MarkerService->>AddressService: Validate Address
AddressService-->>MarkerService: Address Validated/Failed
MarkerService-->>User: Marker Added
User->>MarkerService: View Marker
MarkerService-->>User: Display Marker Details
Note over User, CommentService: Commenting on Markers
User->>CommentService: Add Comment to Marker
CommentService-->>User: Comment Added
User->>CommentService: View Comments
CommentService-->>User: Display Comments
Note over User, ShareService: Sharing Markers
User->>ShareService: Share Marker Link
ShareService-->>User: Marker Link
Note over User, SearchService: Searching for Nearby Markers
User->>SearchService: Search Markers Near Current Location
SearchService-->>User: Display Nearby Markers
Note over Admin, AdminService: Admin Tasks
Admin->>AdminService: Review Markers with Dislikes
AdminService-->>Admin: Display Markers for Review
Admin->>AdminService: Update Marker Status
AdminService-->>Admin: Marker Status Updated
Note over User, ChatService: Chat Functionality
User->>ChatService: Join Marker Chat Room
ChatService-->>User: Joined Chat Room
User->>ChatService: Send Message in Chat Room
ChatService-->>User: Message Sent
Note over User, PopularService: Viewing Popular Markers
User->>PopularService: View Popular Markers
PopularService-->>User: Display Popular Markers
Note over User, OfflineService: Offline Marker Access
User->>OfflineService: Download Static Map Image
OfflineService-->>User: Static Map Image with Markers
Note over User, MarkerService: Suggesting Marker Edits
User->>MarkerService: Suggest Marker Edit with Photo
MarkerService-->>User: Edit Suggestion Submitted
- 회원가입 및 로그인: 사용자 인증을 위한 기본적인 회원가입 및 로그인 기능. (이메일 인증 필요)
- 마커 추가: 턱걸이 바의 위치를 지도에 마커로 표시. 사진과 간단한 설명을 포함할 수 있음.
- 댓글 기능: 로그인한 사용자는 각 마커에 댓글을 남길 수 있어 정보 공유가 가능.
- 마커 공유: 특정 마커 공유 버튼을 눌러서 링크를 공유가 가능.
- 근처 턱걸이 바 검색: 현재 화면 중앙 위치에서 가까운 턱걸이 바를 찾을 수 있는 기능.
- 관리자: 자동 1차 필터링 (주소가 없는 경우 db에 기록) + 싫어요 n개 이상 마커들 확인
- 채팅: 각 마커마다 채팅 방 + 지역별 채팅 방 (익명)
- 인기 장소 확인: 사용자들이 실시간 자주 방문하는 인기 턱걸이 바 위치 확인 기능. (현재 위치 기준 + 전국)
- 정적 이미지 오프라인: 오프라인 용도로 철봉 위치들을 저장할 수 있는 기능. (카카오맵 정적 이미지 보완)
- 마커 장소 검색: 등록된 마커들의 주소 검색 기능 (초성 지원)
- 정보 수정 제안: 등록된 마커들의 정보 수정 제안 기능 (사진 1장 필수)
- 커뮤니티 포럼: 사용자들이 운동 팁, 턱걸이 바 추천 등을 공유할 수 있는 커뮤니티 공간.
- 이벤트 및 챌린지: 사용자들이 참여할 수 있는 운동 관련 이벤트 및 챌린지 개최.
-
Backend Development
👨💻 @Alfex4936 -
Frontend Development
🎨 @2YH02
visual.mp4
Note
The service is running with Go as backend but Spring boot 3 is also available. (WIP)
대부분 철봉 위치 데이터는 chulbong.kr 에서 가져왔음을 알립니다. (2차 필터링)