ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Music practice tracker with features to support your music learning
EducationJavaScript · HTMLGitHub @Bestbit2000OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
A practice tracking app that syncs with Google Sheets. Originally built with Google Apps Script, now rebuilt as a web app with Node.js backend and Google Sheets API integration. • 📊 Track practice sessions by category (Practise, Rehearsal, Lesson, Performance) • 📈 View statistics with heatmaps and charts • 🎯 Manage practice challenges and techniques • 🌙 Dark mode support • 📱 Responsive design (mobile-friendly) • ☁️ Google Sheets integration for data storage Prerequisites • Node.js 16+ • npm • Google account with Google Sheets accessRead the full README ↗
(The repository keeps its first name, TheMusicLedger - see docs/app-name.md.)
A practice tracking app that syncs with Google Sheets. Originally built with Google Apps Script, now rebuilt as a web app with Node.js backend and Google Sheets API integration.
git clone https://github.com/Bestbit2000/TheMusicLedger.git
cd TheMusicLedger
Set up Google OAuth credentials
http://localhost:3000/auth/callback (local development)https://notablybetter.com/auth/callback (production)Create .env file in the server/ directory
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REDIRECT_URI=http://localhost:3000/auth/callback
GOOGLE_SHEET_ID=your_sheet_id
Get your Google Sheet ID
https://docs.google.com/spreadsheets/d/{SHEET_ID}/editInstall and run
cd server
npm install
npm run dev
http://localhost:3000 in your browserGOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETGOOGLE_REDIRECT_URI (set to your Vercel domain + /auth/callback)GOOGLE_SHEET_IDheroku create your-app-nameheroku config:set GOOGLE_CLIENT_ID=your_id
heroku config:set GOOGLE_CLIENT_SECRET=your_secret
heroku config:set GOOGLE_REDIRECT_URI=https://your-app-name.herokuapp.com/auth/callback
heroku config:set GOOGLE_SHEET_ID=your_sheet_id
git push heroku mainThese platforms support Node.js out of the box. Set environment variables in their dashboards and deploy.
TheMusicLedger/
├── public/ # Frontend (HTML, CSS, JS)
│ ├── index.html
│ ├── app.js
│ └── style.css
├── server/ # Node.js backend
│ ├── server.js
│ ├── package.json
│ ├── config/
│ │ └── google.js # Google OAuth setup
│ ├── middleware/
│ │ └── auth.js # Authentication middleware
│ └── routes/
│ ├── auth.js # OAuth endpoints
│ └── api.js # Google Sheets API endpoints
└── .env # Environment variables (local only)
GET /api/dropdown-options - Get organisations and teachersGET /api/sessions - Get all practice sessionsPOST /api/sessions - Create new sessionPUT /api/sessions/:row - Update sessionDELETE /api/sessions/:row - Delete sessionGET /api/challenges - Get all challengesPOST /api/challenges - Create challengePUT /api/challenges/:row - Update challengeDELETE /api/challenges/:row - Delete challengeThe app expects a Google Sheet with the following structure:
GOOGLE_REDIRECT_URI environment variable is set correctlyGOOGLE_SHEET_ID is correctMIT
Built with Claude Code