尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证TrackTeller is a Shiny web app that connects to your Spotify account to visualize your listening habits and create playlists from your personal data
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗TrackTeller is a Shiny web app that connects to your Spotify account to visualize your listening habits and create playlists from your personal data.
👉 Try it live on Google Cloud Run
TrackTeller/
├── app/ # Everything that goes into the Docker image
│ ├── ui.R # Function-based UI (5 tabs + OAuth callback handling)
│ ├── server.R # Server logic (Spotify API + visualizations + stats cards)
│ ├── run.R # App entry point
│ ├── scripts/
│ │ ├── spotify_oauth.R # Custom OAuth 2.0 implementation
│ │ ├── config.R # Environment-based configuration
│ │ └── global.R # Shared helpers (ggplot theme, colors)
│ ├── css/
│ │ └── styles.css # Spotify dark theme + mobile responsiveness
│ └── www/
│ ├── redirect.js # JavaScript for OAuth redirects
│ └── favicon.png # App favicon
├── docs/
│ └── index.html # Static landing page (GitHub Pages)
├── Dockerfile # Container definition (rocker/shiny:4.3.1 + magick)
├── docker-compose.yml # Local development orchestration
├── deploy.sh # Google Cloud Run deployment script
├── DEPLOY.md # Deployment guide
├── .env.example # Credential template
└── renv.lock # Package dependency lock file
| Variable | Description |
|---|---|
SPOTIFY_CLIENT_ID | Spotify Developer app client ID |
SPOTIFY_CLIENT_SECRET | Spotify Developer app client secret |
APP_URL | Your app's URL (for OAuth redirect) |
Set these as environment variables or in a .env file.
# Copy and configure environment
cp .env.example .env
# Edit .env with your Spotify credentials
# Build and run with Docker
sudo docker compose up --build
# Access at http://127.0.0.1:8080
Deployed on Google Cloud Run with credentials stored in Secret Manager.
See DEPLOY.md for full deployment instructions, or quick deploy:
./deploy.sh
| Component | Technology |
|---|---|
| Language | R |
| Framework | Shiny + bslib |
| Music Data | Spotify Web API |
| Visualizations | plotly + ggplot2 |
| Image Processing | magick (ImageMagick) |
| Styling | Custom CSS (dark theme) |
| Containerization | Docker |
| Deployment | Google Cloud Run |
| Secrets | Google Cloud Secret Manager |
The inspiration for this project came from R User Group Helsinki's workshop in March 2023. We learned to use the Spotify API using the {spotifyr} package.
The original app relied on Spotify's audio features and recommendations APIs, which were deprecated in November 2024. TrackTeller is a complete redesign using only currently available endpoints.
Created by Antti Rask