hawkins / always-sunny Goto Github PK
View Code? Open in Web Editor NEWIt's Always Sunny in Philadelphia random episode picker
Home Page: https://TheGangPicksAnEpisode.com
It's Always Sunny in Philadelphia random episode picker
Home Page: https://TheGangPicksAnEpisode.com
Users have requested layout be changed to better fit usage of the site. To quote one:
I would move the sections around a bit: the randomizing factors up top, the episode description in the middle, and the "watch on Netflix" button at the bottom.
This allows users to follow the process:
Episodes could benefit from links to their wiki page itsalwayssunny.wikia.com
This way users could get additional info on episodes if the given description is not enough to recall memorable quotes, etc.
With the addition of selecting specific episode and season by URL, the function getRandomEpisodeFromSeason
was added. This could easily be leveraged to allow users to select random episodes from a specific season via the Controls
interface.
I'd like to try out Razzle for this.
What:
How:
It would be awesome if mobile users could download the site as a progressive web app to use on-the-go more easily.
Something like this should make this feasible. However, this link uses another service worker for caching assets, while I'm currently using offline-plugin. Maybe the two can be more seamlessly merged?
To save on data, I'd like to leverage api.thegangpicksanepisode.com (from #23) instead of bundling the episode list
Caching results sounds difficult, but like a wonderful practice and learning opportunity
We could scrape quotes from the wiki and display inline somewhere, that would be rad
See #9
Turns out that Season 6, Episode 14 is not listed in Sunny.
All we really need is the video ID, name, and description.
Something like api.thegangpicksanepisode.com
would be ๐ฅ
Ideas:
get_episodes(season?, writer?, lead?, guest?)
get_episode(season, episode)
This is a huge effort, but after falling in love with the show Letterkenny, I also want to support more shows here.
It's already pretty generic in data, just not in the backend. So, this would be a large scale project, but not a total rewrite.
This is where I really want things to change. Right now it's a single json file that's actually downloaded to the front end and then filtered. That's nasty as fuck, and I don't like it. It's way too excessive for most users, I suspect.
I'd like to improve this by serving content behind a GraphQL interface. Long term, I'd like this to be behind an AWS Lambda function querying DynamoDB tables and returning results to answer GraphQL queries. Short term, I'd port that json file to a lambda function which responds to GraphQL queries.
This allows us to be generic in data handling, so we can use a consistent schema for queries across any devices (web, mobile apps, tvos, etc) while downloading less data in total.
This website's pretty ugly these days. I liked it then, but it hasn't aged well, users have had some complaints over the years. I don't know what I'd really change it to, other than I would use GraphQL to query for data instead of json and use CSS grid for layout.
With the use of GraphQL (do you see what I'm getting at yet? This is a big deal), we could very easily port this frontend to other applications, such as mobile via react native, apple tv, command line... Lots of potential here.
Season 12 is up on Hulu, so it would be great to watch and track data for it
Would be awesome to get an iOS and Apple TV app out there for this!
It would be great if users could specify which episode to load via URL, so they could point friends to specific episodes etc.
I.e., https://thegangpicksanepisode.com/?s=7&e=10
would load with the app focusing on Season 7: Episode 10, "How Mac Got Fat."
I would love to be able to search for a specific episode title. You could also search the description for the keywords...
In it's current state, this is a measly 57/100. I know I can do far better than that!
This is an umbrella issue containing a checklist and links to relevant other issues.
Here are the current issues:
<link>
that delay first paint: 3 resources delayed first paint by 155msrel="noopener"
Users have mentioned that the yellow buttons feel a little too close to the character names or dropdown, so that should be given a little more space. It's especially apparent on mobile. Maybe simply increase md-button { margin-bottom }
.
The dark grey background also gives the impression a popover is active or the site is not ready for user interaction. Lightening the background color could alleviate this issue.
Well this blows. All of my favorite shows are off of netflix now. There goes my subscription.
Since they have stake in Hulu instead, we'll have to change links to point there. Thankfully all the data's been mined already, so all it'll take is just getting new URLs and cleaning up the now useless giant pile of netflix-specific data I never did take advantage of.
Source: https://netflixlife.com/2017/11/02/its-always-sunny-in-philadelphia-leaving-netflix-december/
Anyone can easily help on this one ; just pick a season and copy links to the episodes and paste them in a comment or something, if you stargazers ever check issues ๐ It's that simple this time around.
Should any selection be made, random or otherwise, the URL should be updated so the user can easily share this link.
When searching for "ponderosa", you find results with large descriptions that widen the search column more than it should, which adversely affects the other two columns.
This should be fixed by preventing the columns from surpassing a max width.
Currently we're missing a lot of guest characters on Season 12. Really need to add the rest of these
Should a season and episode combination not tie back to a real episode, a random episode should be selected and an error message should be shown on screen.
Something along the lines of...
if (season && episode) {
this.state = {
episode: getEpisodeDetails(season, episode)
};
if (this.state.episode === undefined) {
// Display error
// ...
// Select random episode
this.state.episode = getEpisodeDetails(season, episode);
}
}
(Not sure if this should be called a "schema", but anyway)
Having the index/root page redirect to another "page" located at /season/episode
is disruptive for development
May be better to redesign routing for purposes of /#/season/episode
similar to how Spectacle uses /#/slide_number
There are a few vulnerabilities around serve, and while they don't matter at all for this project, we should update serve and other dependencies.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.