{"id":16640260,"url":"https://github.com/ysm-dev/javascript30","last_synced_at":"2026-02-05T23:01:33.341Z","repository":{"id":112752295,"uuid":"112362107","full_name":"ysm-dev/javascript30","owner":"ysm-dev","description":null,"archived":false,"fork":false,"pushed_at":"2017-11-28T17:10:07.000Z","size":994,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-12T08:40:38.328Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ysm-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-28T16:44:37.000Z","updated_at":"2019-07-01T07:53:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"9109dba0-bd30-4f9e-9a42-f461cba7792a","html_url":"https://github.com/ysm-dev/javascript30","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ysm-dev/javascript30","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fjavascript30","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fjavascript30/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fjavascript30/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fjavascript30/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ysm-dev","download_url":"https://codeload.github.com/ysm-dev/javascript30/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ysm-dev%2Fjavascript30/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29137751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T22:49:08.052Z","status":"ssl_error","status_checked_at":"2026-02-05T22:45:32.059Z","response_time":65,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T07:08:19.872Z","updated_at":"2026-02-05T23:01:33.324Z","avatar_url":"https://github.com/ysm-dev.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://javascript30.com/images/JS3-social-share.png)\n\n# JavaScript30\n\nStarter Files + Completed solutions for the JavaScript 30 Day Challenge.\n\nGrab the course at [https://JavaScript30.com](https://JavaScript30.com)\n\n## Community #JavaScript30 Content\n\nFeel free to submit a PR adding a link to your own recaps, guides or reviews!\n\n* [Arjun Khode’s blog](http://thesagittariusme.blogspot.com/search/label/JS30) about summaries for each day, including fixed glitches, bugs and extra features\n* [Nitish Dayal's Text Guides](https://github.com/nitishdayal/JavaScript30) are great for those who like reading over watching\n* [Meredith Underell's](http://meredithunderell.com/tag/javascript30/) Quick Lessons Learned\n* [Rowan Weismiller's](http://rowanweismiller.com/blog/javascript-30/) Recaps + Lessons Learned\n* [Thorsten Frommen](https://tfrommen.de/tag/javascript-30/) shares how he solved the exercises before viewing the answers\n* [Soyaine 写的中文指南](https://github.com/soyaine/JavaScript30)包含了过程记录和难点解释\n* [Ayo Isaiah's](https://freshman.tech/archive/#javascript30) Recaps and Lessons Learned\n* [Adriana Rios](https://stpcollabr8nlstn.github.io/JavaScript30/) shares her alternative solutions\n* [Michael Einsohn](http://30daysofjs.michaeleinsohn.com) publishes each challenge after watching the video once\n* [Mike Ekkel](https://medium.com/@mike_ekkel/javascript-30-a-30-day-vanilla-js-challenge-6a733fc9f62c#.9frjtaje9)\n* [Akinjide Bankole](https://github.com/akinjide/JS30days) used Node.js with [Jade](http://jadelang.net) to solve the exercises\n* [Yusef Habib](https://github.com/yhabib/JavaScript30) lessons and tricks learned, and a [gh-page](https://yhabib.github.io/JavaScript30/) to see working all the mini-projects.\n* [Amelie Yeh](https://github.com/amelieyeh/JS30) 30 lessons notes with things I've learned, and those important recaps. and directly view my demos [here](https://amelieyeh.github.io/JS30/) 🇹🇼😄\n* [Winar](https://github.com/winar-jin/JavaScript30-Challenge)的JavaScript30天挑战，记录练习过程，重难点和其他的解决方案。🎨\n* [Rayhatron](https://rayhatron.github.io/blog/) - walkthroughs, recaps and lessons learned.\n* [Andrei Dobra](https://github.com/andreidbr/JS30) Full repo with lessons learned and a [gh-page](https://andreidbr.github.io/JS30/) with all the exercises.\n* [从零到壹全栈部落](https://github.com/liyuechun/JavaScript30-liyuechun),春哥发起的从零到壹全栈部落，旨在带领大家一起学习，一起输出，文档化，代码化，中文视频化，全栈部落口号：输出是最好的学习方式。\n* [Usmaan Ali's](https://github.com/usyyy/javascript/blob/master/JavaScript30/analysis.md) summary of the technical skills learned from each project. He's also posting them as separate blog posts [here](https://medium.com/@usyyy)\n* [Axel](https://github.com/afuh/js30)'s lessons learned and a [showcase](https://afuh.github.io/js30/) with the projects. \n* [Chris](https://github.com/dwatow/JavaScript30) 中文實戰，目標描述、過程紀錄。\n* [Muhammad D. Ramadhan's](https://miayam.github.io) blog. He shamlesly mixed his personal life with 30 day JavaScript challenge so as to increase his learning retention. He also summarised the challenge on [one single page](https://miayam.github.io/js30). Do not read his blog!\n* [Lee Keitel's Blog](https://blog.keitel.xyz/categories/javascript30/) includes summaries of each lesson, what I learned from each one, and my thoughts about the topic taught and using them in the future.\n* [Dustin Hsiao](https://github.com/dustinhsiao21/Javascript30-dustin) 包含了各篇介紹、 效果Demo、各篇詳解及記錄過程，附上部分延伸閱讀及[gh-page](https://dustinhsiao21.github.io/Javascript30-dustin/)。\n\n## A note on Pull Requests\n\nThese are meant to be 1:1 copies of what is done in the video. If you found a better / different way to do things, great, but I will be keeping them the same as the videos.\n\nThe starter files + solutions will be updated if/when the videos are updated.\n\nThanks!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysm-dev%2Fjavascript30","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fysm-dev%2Fjavascript30","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fysm-dev%2Fjavascript30/lists"}