Skip to content

ArgonetDevStudio/tashudoko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš΄β€β™‚οΈ TashuDoko – Your End-of-Day Bike Station Reminder

TashuDoko is a lightweight, daily Slack notification service that helps you wrap up your day with a healthy ride home.
Every weekday around the end of working hours, it sends a neatly formatted Slack message showing all Tashu bike stations within walking distance from your designated location – sorted by distance and availability.

No more wandering around looking for an available bike. Just check Slack and grap. 🚲


What It Does

At a configured time every day, TashuDoko:

  1. Fetches live data from the official Tashu Public API
  2. Filters stations within a certain radius of your base point
  3. Sends a Slack message listing available stations:
    • Station name and address
    • Distance (in meters)
    • Available bikes (with visual indicators)
    • [μœ„μΉ˜λ³΄κΈ°] button that opens Naver Maps with directions

Example Slack message:

κ°€κΉŒμš΄ 이용 κ°€λŠ₯ νƒ€μŠˆ λͺ©λ‘ 🚲 (2025-04-25 (금) 18:00)

🟠 1. λ§Œλ…„λ™ 기업은행  
λ§Œλ…„λ™ 296 (74m)  
λŒ€μ—¬κ°€λŠ₯: `1`       [μœ„μΉ˜λ³΄κΈ°]

🟒 2. λ§Œλ…„λ™ ν¬λ¦¬μŠ€νƒˆμ›¨λ”©ν™€  
λ§Œλ…„λ™ 305 (76m)  
λŒ€μ—¬κ°€λŠ₯: `4`       [μœ„μΉ˜λ³΄κΈ°]
...

Smart Visual Indicators

Each station is tagged with a color-coded icon based on bike availability:

Emoji Availability Meaning
🟒 3+ Plenty available
🟑 2 Moderate
🟠 1 Limited – hurry!
🚫 0 None – hidden 🚫

Stations with 0 bikes are automatically excluded to avoid clutter.


πŸ› οΈ Built With

  • Java 21
  • Spring Boot 3

βš™οΈ Configuration

Before running the service, you need to set the following properties:

config:
  base-name: "Argonet"
  base-latitude: 36.368725
  base-longitude: 127.380790
  max-distance-meter: 400

tashu-api:
  url: "https://bikeapp.tashu.or.kr:50041/v1/openapi"
  key: "API_KEY_HERE"

slack:
  url: "SLACK_WEBHOOK_URL_HERE"
  • base-name: A friendly name for your base location (used for logging and clarity)
  • base-latitude and base-longitude: Coordinates of your base location. You can easily find them using Google Maps.
  • max-distance-meter: Only stations within this distance will be shown
  • tashu-api.key: Your Tashu API key to fetch bike data
  • slack.url: Webhook URL where messages are posted

πŸ“„ License

MIT License.
Feel free to fork and build your own bike-friendly Slack tools


About

Your End-of-Day Bike Station Reminder

Resources

License

Stars

Watchers

Forks