Remove personal information and improve setup documentation:
**Code Generalization:**
- Updated .env.example with placeholder values
- Removed personal API keys and calendar IDs
- Removed all personal background images (15 images deleted)
- Added backgrounds directory README with usage instructions
- Updated .gitignore to exclude background images
**Documentation Improvements:**
- Added comprehensive Weather API setup instructions
- How to get OpenWeatherMap API key
- How to find location coordinates using LatLong.net
- Added detailed Google Calendar setup instructions
- Public iCal feed method (easiest, no auth required)
- Alternative Google Calendar API method
- Added background image specifications
- Supported formats, recommended resolution
- Where to add images and how to change rotation interval
- Added configuration section explaining all settings
- Environment variables documentation
- JavaScript intervals configuration
- How to change image rotation time in both .env and app.js
- Added dynamic text color feature to feature list
**Setup Instructions Now Include:**
- Step-by-step Weather API key acquisition
- Google Calendar public iCal URL setup
- Background image guidelines and rotation configuration
- All configuration options clearly documented
Users can now easily set up their own calendar display without any personal information in the codebase.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Major improvements to the calendar display application:
- Redesigned weather display: moved forecast to header alongside time
- Added 3-day forecast with icons and high/low temps in header
- Simplified main layout: removed separate weather section, calendar now full-width
- Made layout more compact to fit on one screen without scrolling
- Added 2 new background images for rotation
- Updated image rotation interval to 1 minute
- Improved responsive design and spacing
The display now shows:
- Header: Time/date on left, current weather + 3-day forecast on right
- Main: Full-width calendar events section
- Footer: Dad joke
All elements now fit on a single screen with a clean, readable layout.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Built a full-featured smart display app with Flask backend and responsive frontend.
Features:
- Real-time clock display
- Weather integration (OpenWeatherMap API) for Hamilton, NZ
- Google Calendar integration (placeholder, needs credentials)
- Rotating background images from local directory
- Dad jokes display (icanhazdadjoke API)
Technical stack:
- Backend: Python Flask with API endpoints
- Frontend: HTML/CSS/JavaScript with auto-updating data
- Caching system to avoid API rate limits
- Responsive design for various screen sizes
Deployment ready for Raspberry Pi with systemd service and Chromium kiosk mode setup instructions.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>