Note
The service is running with Go as backend but Spring boot 3 is also available. (WIP)
chulbong-kr is a community platform for finding and sharing pull-up bars in public places.
Using the map API, users can add markers for pull-up bar locations after signing up and logging in, and can upload a photo and a brief description.
Other logged-in users can leave comments on these markers, making it easy to share information and communicate.
Main Screen | Marker Information |
Street View (nearest) | Comments |
Nearby Pull-up Bars | Offline Storage (KakaoMap) |
Pull-up Bar Address Search (Initials Supported) | Suggest Information Edit |
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
- Sign Up and Login: Basic sign-up and login functionality for user authentication. (Email verification required)
- Add Marker: Mark the location of pull-up bars on the map. You can include a photo and a brief description.
- Comment Feature: Logged-in users can leave comments on each marker to share information.
- Share Marker: You can share the link by pressing the share button on a specific marker.
- Search Nearby Pull-up Bars: Function to find pull-up bars near the current central position of the screen.
- Admin: Automatic first filtering (recorded in the database if no address) + review markers with a certain number of dislikes.
- Chat: Chat rooms for each marker + regional chat rooms (anonymous).
- View Popular Locations: Function to check the locations of popular pull-up bars that users frequently visit in real-time. (Based on the current location + nationwide)
- Offline Static Image: Function to save pull-up bar locations for offline use. (Supplemented with KakaoMap static images)
- Search Marker Locations: Function to search for the addresses of registered markers (supports initials).
- Suggest Information Edit: Function to suggest edits to the information of registered markers (requires one photo).
- Community Forum: A community space where users can share workout tips, recommend pull-up bars, and more.
- Events and Challenges: Hosting workout-related events and challenges for users to participate in.
visual.mp4
- Backend: Go language Fiber v2, MySQL, AWS S3, LavinMQ (RabbitMQ), Redis, Bleve (Apache Lucene-like, replaced with direct search indexing in ZincSearch)
- Main: Go, Sub: Java (the entire project is also being written in Java)
- Frontend: React -> NextJS (TypeScript)
- Development & Operational Efficiency: pprof, flamegraph, Uber's zap logger, Swagger OpenAPI, Prometheus+Grafana
- Collaboration: Slack (+ Slack API)
-
Backend Development
👨💻 @Alfex4936 -
Frontend Development
🎨 @2YH02
Note
Most pull-up bar location data was obtained from chulbong.kr (second filtering)