๐ Live Site: release-time.onrender.com
A simple tool to check when a TV show's next episode airs, converted to your local time. No more guessing when your favourite show is coming out!
โ๏ธ Core functionality complete โ every input gets an output, so users are never left guessing.
โ๏ธ Minimalist yet presentable design โ clean and easy to use.
โ๏ธ Rate Limiting Implemented โ Prevents excessive API requests to avoid key suspension.
๐น Specific Error Messages
- Distinguish between "No upcoming episodes" vs. "Show not found."
๐น Show Identification Issues
- Some shows have multiple versions (remakes, different years), causing incorrect results.
- Example: Searching for Battlestar Galactica might return the wrong version.
- Potential fix: Allow users to select from multiple search results (an image preview could help).
๐น Auto Convert to Local Time
- Detect the userโs time zone and convert the air time automatically.
๐น Countdown Timer โณ
- Show a live countdown until the next episode airs.
๐น Show Past Episodes ๐บ
- Fetch and display previous episodes alongside the next air date.
๐น Alternative Timezones ๐
- Allow users to check different time zones (US, UK, AU, etc.).
๐น Streaming Platform Link ๐
- Display where the show is available (Netflix, Hulu, Apple TV+, etc.).
๐น Episode Information & Summary ๐
- Include details like episode synopsis, duration, and creators.
๐น Save Searches for Quick Access ๐
- Store the last searched show in
localStoragefor convenience.
๐น UI Improvements ๐จ
- Add icons, animations, and smooth UI transitions.
โ Lack of Show Year/Specific Identification
- No option to select between multiple results (e.g., Battlestar Galactica 2004 vs 1978).
- Users might get incorrect results.
โ Non-Specific Error Handling
- Doesn't differentiate between "No new episodes" and "Show not found."
โ Potential Rate Limit Hits
- Spamming "Convert Time" could get the API key suspended.
- Implemented rate limiting to prevent abuse (1-minute and 10-minute cooldowns).
To prevent excessive API calls, rate limiting is in place:
- 24 hour limit: Too many requests in a 24 hour period will block further queries.
- Users who exceed limits will see a message explaining the cooldown period.
This project fetches TV show data from the TVMaze API:
- Endpoint for show information:
https://api.tvmaze.com/shows/INSERT_ID_HERE
Ensure you have the following installed in package.json:
"dependencies": {
"axios": "^1.7.9",
"cors": "^2.8.5",
"dotenv": "^16.4.7",
"express": "^4.21.2",
"express-rate-limit": "^7.5.0",
"node-fetch": "^3.3.2"
}Install dependencies using:
npm install๐ก Made with HTML, CSS, JavaScript and Node.js ๐ฌ
Hosted on Render
Thank you for taking the time to have a look at my first coding project!