├── LICENSE
├── README.md
└── database
├── front-end-development
├── Angular.json
├── Backbone.json
├── CycleJs.json
├── D3.json
├── Ember.json
├── Ionic.json
├── JQuery.json
├── Knockout.json
├── Meteor.json
├── Nextjs.json
├── Polymer.json
├── Preact.json
├── Vue.json
├── es6-tools.json
└── react.json
├── js-language
├── functional-programming.json
├── general.json
└── learning-javascript.json
└── platforms
├── electron.json
├── nodejs.json
└── react-native.json
/LICENSE:
--------------------------------------------------------------------------------
1 | CC0 1.0 Universal
2 |
3 | Statement of Purpose
4 |
5 | The laws of most jurisdictions throughout the world automatically confer
6 | exclusive Copyright and Related Rights (defined below) upon the creator and
7 | subsequent owner(s) (each and all, an "owner") of an original work of
8 | authorship and/or a database (each, a "Work").
9 |
10 | Certain owners wish to permanently relinquish those rights to a Work for the
11 | purpose of contributing to a commons of creative, cultural and scientific
12 | works ("Commons") that the public can reliably and without fear of later
13 | claims of infringement build upon, modify, incorporate in other works, reuse
14 | and redistribute as freely as possible in any form whatsoever and for any
15 | purposes, including without limitation commercial purposes. These owners may
16 | contribute to the Commons to promote the ideal of a free culture and the
17 | further production of creative, cultural and scientific works, or to gain
18 | reputation or greater distribution for their Work in part through the use and
19 | efforts of others.
20 |
21 | For these and/or other purposes and motivations, and without any expectation
22 | of additional consideration or compensation, the person associating CC0 with a
23 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
24 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
25 | and publicly distribute the Work under its terms, with knowledge of his or her
26 | Copyright and Related Rights in the Work and the meaning and intended legal
27 | effect of CC0 on those rights.
28 |
29 | 1. Copyright and Related Rights. A Work made available under CC0 may be
30 | protected by copyright and related or neighboring rights ("Copyright and
31 | Related Rights"). Copyright and Related Rights include, but are not limited
32 | to, the following:
33 |
34 | i. the right to reproduce, adapt, distribute, perform, display, communicate,
35 | and translate a Work;
36 |
37 | ii. moral rights retained by the original author(s) and/or performer(s);
38 |
39 | iii. publicity and privacy rights pertaining to a person's image or likeness
40 | depicted in a Work;
41 |
42 | iv. rights protecting against unfair competition in regards to a Work,
43 | subject to the limitations in paragraph 4(a), below;
44 |
45 | v. rights protecting the extraction, dissemination, use and reuse of data in
46 | a Work;
47 |
48 | vi. database rights (such as those arising under Directive 96/9/EC of the
49 | European Parliament and of the Council of 11 March 1996 on the legal
50 | protection of databases, and under any national implementation thereof,
51 | including any amended or successor version of such directive); and
52 |
53 | vii. other similar, equivalent or corresponding rights throughout the world
54 | based on applicable law or treaty, and any national implementations thereof.
55 |
56 | 2. Waiver. To the greatest extent permitted by, but not in contravention of,
57 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
58 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
59 | and Related Rights and associated claims and causes of action, whether now
60 | known or unknown (including existing as well as future claims and causes of
61 | action), in the Work (i) in all territories worldwide, (ii) for the maximum
62 | duration provided by applicable law or treaty (including future time
63 | extensions), (iii) in any current or future medium and for any number of
64 | copies, and (iv) for any purpose whatsoever, including without limitation
65 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
66 | the Waiver for the benefit of each member of the public at large and to the
67 | detriment of Affirmer's heirs and successors, fully intending that such Waiver
68 | shall not be subject to revocation, rescission, cancellation, termination, or
69 | any other legal or equitable action to disrupt the quiet enjoyment of the Work
70 | by the public as contemplated by Affirmer's express Statement of Purpose.
71 |
72 | 3. Public License Fallback. Should any part of the Waiver for any reason be
73 | judged legally invalid or ineffective under applicable law, then the Waiver
74 | shall be preserved to the maximum extent permitted taking into account
75 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
76 | is so judged Affirmer hereby grants to each affected person a royalty-free,
77 | non transferable, non sublicensable, non exclusive, irrevocable and
78 | unconditional license to exercise Affirmer's Copyright and Related Rights in
79 | the Work (i) in all territories worldwide, (ii) for the maximum duration
80 | provided by applicable law or treaty (including future time extensions), (iii)
81 | in any current or future medium and for any number of copies, and (iv) for any
82 | purpose whatsoever, including without limitation commercial, advertising or
83 | promotional purposes (the "License"). The License shall be deemed effective as
84 | of the date CC0 was applied by Affirmer to the Work. Should any part of the
85 | License for any reason be judged legally invalid or ineffective under
86 | applicable law, such partial invalidity or ineffectiveness shall not
87 | invalidate the remainder of the License, and in such case Affirmer hereby
88 | affirms that he or she will not (i) exercise any of his or her remaining
89 | Copyright and Related Rights in the Work or (ii) assert any associated claims
90 | and causes of action with respect to the Work, in either case contrary to
91 | Affirmer's express Statement of Purpose.
92 |
93 | 4. Limitations and Disclaimers.
94 |
95 | a. No trademark or patent rights held by Affirmer are waived, abandoned,
96 | surrendered, licensed or otherwise affected by this document.
97 |
98 | b. Affirmer offers the Work as-is and makes no representations or warranties
99 | of any kind concerning the Work, express, implied, statutory or otherwise,
100 | including without limitation warranties of title, merchantability, fitness
101 | for a particular purpose, non infringement, or the absence of latent or
102 | other defects, accuracy, or the present or absence of errors, whether or not
103 | discoverable, all to the greatest extent permissible under applicable law.
104 |
105 | c. Affirmer disclaims responsibility for clearing rights of other persons
106 | that may apply to the Work or any use thereof, including without limitation
107 | any person's Copyright and Related Rights in the Work. Further, Affirmer
108 | disclaims responsibility for obtaining any necessary consents, permissions
109 | or other rights required for any use of the Work.
110 |
111 | d. Affirmer understands and acknowledges that Creative Commons is not a
112 | party to this document and has no duty or obligation with respect to this
113 | CC0 or use of the Work.
114 |
115 | For more information, please see
116 |
117 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |

2 |
3 | [](https://twitter.com/geraldoramos)
4 |
5 | A curated collection of useful resources related to the Javascript Ecosystem. This project compiled data from various open-source lists, specially the ones available on [Awesome lists](https://github.com/sindresorhus/awesome)
6 |
7 | Visit [js.directory](https://js.directory) to access the web interface.
8 |
9 | The interface uses the database available on this repository. Submit a pull request to contribute.
10 |
11 | 
12 |
13 | ## Contributing
14 |
15 | The database uses the JSON format under the folder `database`. The [site](https://js.directory) will update with the master branch periodically. Feel free to fork, add new entries and submit a Pull Request.
16 |
17 |
18 | ## License
19 | This database is distributed under the Creative Commons Zero v1.0 Universal license
20 |
21 | Follow me on [Twitter](http://twitter.com/geraldoramos)
22 |
--------------------------------------------------------------------------------
/database/front-end-development/Backbone.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "General",
3 | "items" : [ {
4 | "name" : "Backbone.js",
5 | "url" : "http://backbonejs.org/"
6 | }, {
7 | "name" : "Github repository",
8 | "url" : "https://github.com/jashkenas/backbone"
9 | }, {
10 | "name" : "Annotated source",
11 | "url" : "http://backbonejs.org/docs/backbone.html"
12 | }, {
13 | "name" : "Backbone plugins",
14 | "url" : "http://backplug.io/"
15 | }, {
16 | "name" : "Backbone Index",
17 | "url" : "https://backboneindex.com/"
18 | }, {
19 | "name" : "BackboneConf",
20 | "url" : "http://backboneconf.com/"
21 | }, {
22 | "name" : "StackOverflow",
23 | "url" : "http://stackoverflow.com/questions/tagged/backbone.js"
24 | }, {
25 | "name" : "Yeoman generator for Backbone.js",
26 | "url" : "https://github.com/yeoman/generator-backbone"
27 | } ]
28 | }, {
29 | "category" : "Tutorials and articles",
30 | "items" : [ {
31 | "name" : "A pragmatic guide to Backbone.js apps",
32 | "url" : "http://pragmatic-backbone.com/"
33 | }, {
34 | "name" : "Getting Started with Backbone",
35 | "url" : "http://www.korenlc.com/backbone-js-tutorial-getting-started-with-backbone/"
36 | }, {
37 | "name" : "A Complete Guide for Learning Backbone.js",
38 | "url" : "http://www.codebeerstartups.com/2012/12/a-complete-guide-for-learning-backbone-js/"
39 | }, {
40 | "name" : "Hello Backbone.js",
41 | "url" : "http://jasongiedymin.github.io/hello-backbonejs/"
42 | }, {
43 | "name" : "Part 1",
44 | "url" : "http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/"
45 | }, {
46 | "name" : "Backbone patterns",
47 | "url" : "http://ricostacruz.com/backbone-patterns/"
48 | }, {
49 | "name" : "Complex Single Page Application Architecture with Backbone.js",
50 | "url" : "http://blog.soom.la/2013/10/complex-single-page-application.html"
51 | }, {
52 | "name" : "Building large Backbone applications",
53 | "url" : "http://victorsavkin.com/post/59496656297/building-large-backbone-applications"
54 | }, {
55 | "name" : "A Guide to Writing Backbone Apps at Coursera",
56 | "url" : "http://blog.pamelafox.org/2013/07/a-guide-to-writing-backbone-apps-at.html"
57 | }, {
58 | "name" : "Part 1",
59 | "url" : "http://www.jamesyu.org/2011/01/27/cloudedit-a-backbone-js-tutorial-by-example"
60 | }, {
61 | "name" : "Our First Node.js App: Backbone on the Client and Server",
62 | "url" : "http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product/"
63 | }, {
64 | "name" : "Using Backbone.js With Require.js",
65 | "url" : "http://gregfranko.com/blog/using-backbone-dot-js-with-require-dot-js/"
66 | }, {
67 | "name" : "Backbone Model Unit Testing with Jasmine",
68 | "url" : "http://blog.katworksgames.com/2013/03/30/bb_model_test_jasmine/"
69 | }, {
70 | "name" : "Backbone.js and Socket.io",
71 | "url" : "http://developer.teradata.com/blog/jasonstrimpel/2011/11/backbone-js-and-socket-io"
72 | }, {
73 | "name" : "Presenter First in Backbone.js",
74 | "url" : "http://spin.atomicobject.com/2012/01/03/presenter-first-in-backbone-js/"
75 | }, {
76 | "name" : "Websockets for Backbone",
77 | "url" : "http://www.artandlogic.com/blog/2014/06/websockets-for-backbone/"
78 | }, {
79 | "name" : "Part 1",
80 | "url" : "http://www.artandlogic.com/blog/2012/06/fun-with-coffeescript-and-backbone-js-part-1/"
81 | }, {
82 | "name" : "Components with Backbone.js and Marionette.js",
83 | "url" : "http://blog.jeremyfairbank.com/javascript/components-with-backbone-js-and-marionette-js/"
84 | }, {
85 | "name" : "Boilerplate web app using Backbone.js, Express.js, Node.js, MongoDB",
86 | "url" : "http://kroltech.com/2013/12/boilerplate-web-app-using-backbone-js-expressjs-node-js-mongodb/"
87 | }, {
88 | "name" : "Backbone.js Tips And Patterns",
89 | "url" : "http://www.smashingmagazine.com/2013/08/09/backbone-js-tips-patterns/"
90 | }, {
91 | "name" : "Leveraging Deferreds in Backbone.js",
92 | "url" : "http://quickleft.com/blog/leveraging-deferreds-in-backbonejs"
93 | }, {
94 | "description" : " UI architecture",
95 | "name" : "Backbone.js for large scale applications",
96 | "url" : "http://orizens.com/wp/topics/backbone-js-for-large-scale-applications-ui-architecture/"
97 | }, {
98 | "name" : "Decorating A Backbone.Model With Features, For A UI Component",
99 | "url" : "http://derickbailey.com/2014/09/09/decorating-a-backbone-model-with-features-for-a-ui-component/"
100 | }, {
101 | "name" : "Backbone.fwd: Forward Events From One Backbone Object, Through Another",
102 | "url" : "http://derickbailey.com/2014/05/13/backbone-fwd-forward-events-from-one-backbone-object-through-another/"
103 | }, {
104 | "description" : " Rendering A Collection",
105 | "name" : "Backbone.View Patterns",
106 | "url" : "http://orizens.com/wp/topics/backbone-view-patterns-rendering-a-collection/"
107 | }, {
108 | "description" : " How & Why Use Subviews",
109 | "name" : "Backbone.View Patterns",
110 | "url" : "http://orizens.com/wp/topics/backbone-view-patterns-how-why-to-use-subviews/"
111 | }, {
112 | "description" : " The \"Render\" Method",
113 | "name" : "Backbone.View Patterns",
114 | "url" : "http://orizens.com/wp/topics/backbone-view-patterns-the-render-method/"
115 | }, {
116 | "name" : "Building progressively enhanced websites using bulletproof Backbone & CSS transforms",
117 | "url" : "http://azumbrunnen.me/blog/building-progressively-enhanced-websites-with-bulletproof-backbone/"
118 | }, {
119 | "name" : "Decoupling Backbone Apps From WebSockets",
120 | "url" : "http://lostechies.com/derickbailey/2012/04/19/decoupling-backbone-apps-from-websockets/"
121 | }, {
122 | "name" : "Backbone.js And JavaScript Garbage Collection",
123 | "url" : "http://lostechies.com/derickbailey/2012/03/19/backbone-js-and-javascript-garbage-collection/"
124 | }, {
125 | "name" : "Getting familiar with Backbone.js",
126 | "url" : "https://blog.safaribooksonline.com/2013/11/16/getting-familiar-with-backbone-js/"
127 | }, {
128 | "name" : "Backbone Antipatterns",
129 | "url" : "http://blog.shinetech.com/2013/11/26/backbone-antipatterns/"
130 | }, {
131 | "name" : "Part 1",
132 | "url" : "http://adrianmejia.com/blog/2012/09/11/backbone-dot-js-for-absolute-beginners-getting-started/"
133 | }, {
134 | "name" : "Part 1",
135 | "url" : "http://javascriptplayground.com/blog/2013/02/express-backbone-application-part1"
136 | }, {
137 | "name" : "Backbone with ES6",
138 | "url" : "http://mikefowler.me/2014/06/11/backbone-with-es6/"
139 | }, {
140 | "name" : "How to share Backbone.js models with Node.js",
141 | "url" : "http://amirmalik.net/2010/11/27/how-to-share-backbonejs-models-with-nodejs"
142 | }, {
143 | "name" : "Backbone.js tricks or treats",
144 | "url" : "http://tiagorg.github.io/talk-backbone-tricks-or-treats-html5devconf"
145 | }, {
146 | "name" : "Part 1",
147 | "url" : "http://www.foraker.com/backbone-js-organizational-patterns/"
148 | }, {
149 | "name" : "Backbone Cleanup",
150 | "url" : "http://www.webdeveasy.com/backbone-cleanup/"
151 | }, {
152 | "name" : "Lazy loading Backbone collections with Promises",
153 | "url" : "http://tech.adroll.com/blog/web/2013/11/12/lazyloading-backbone-collection-with-promises.html"
154 | }, {
155 | "name" : "5 Ways to Level-Up Your Backbone.js Code",
156 | "url" : "https://blog.engineyard.com/2015/5-ways-to-level-up-your-backbone-code"
157 | }, {
158 | "name" : "Why Backbone.js and ES6 Classes Don't Mix",
159 | "url" : "http://benmccormick.org/2015/04/07/es6-classes-and-backbone-js/"
160 | }, {
161 | "name" : "Top 8 Common Backbone.js Developer Mistakes",
162 | "url" : "http://www.toptal.com/backbone-js/top-8-common-backbone-js-developer-mistakes"
163 | }, {
164 | "name" : "8 Great Backbone.js Interview Questions",
165 | "url" : "http://www.toptal.com/backbone-js/interview-questions"
166 | }, {
167 | "name" : "Integrating React With Backbone",
168 | "url" : "https://quickleft.com/blog/integrating-react-with-backbone/"
169 | }, {
170 | "name" : "Using BackboneJS to improve your JavaScript code organization over a Ruby on Rails app",
171 | "url" : "https://medium.com/@ezekielriva/using-backbonejs-to-improve-your-javascript-code-organization-over-a-ruby-on-rails-app-11784575a4f2"
172 | }, {
173 | "name" : "Part 1",
174 | "url" : "https://medium.com/@coreyhowell/javascript-for-the-impatient-backbonejs-part-1-7f4dba8fcea"
175 | }, {
176 | "name" : "Building Backbone apps using Flux",
177 | "url" : "https://medium.com/@victordoss/building-backbone-apps-using-flux-f656fd8a873a"
178 | }, {
179 | "name" : "Bringing Meteor’s reactive collections to Backbone",
180 | "url" : "https://mixmax.com/blog/meteor-and-backbone"
181 | } ]
182 | }, {
183 | "category" : "Books",
184 | "items" : [ {
185 | "name" : "Developing Backbone.js Applications",
186 | "url" : "http://addyosmani.github.io/backbone-fundamentals/"
187 | }, {
188 | "name" : "Backbone Tutorials",
189 | "url" : "https://leanpub.com/backbonetutorials"
190 | }, {
191 | "name" : "Building Backbone Plugins",
192 | "url" : "https://leanpub.com/building-backbone-plugins"
193 | }, {
194 | "name" : "Mastering Backbone.js",
195 | "url" : "http://www.amazon.com/dp/1783288493"
196 | }, {
197 | "name" : "Backbone.js Testing",
198 | "url" : "http://backbone-testing.com/"
199 | }, {
200 | "name" : "Backbone.js Patterns and Best Practices",
201 | "url" : "http://www.amazon.com/dp/1783283572"
202 | }, {
203 | "name" : "Backbone.js Cookbook",
204 | "url" : "http://www.amazon.com/dp/1782162720/"
205 | }, {
206 | "name" : "Instant Backbone.js Application Development",
207 | "url" : "http://www.amazon.com/dp/1782165665"
208 | }, {
209 | "name" : "Beginning Backbone.js",
210 | "url" : "http://www.amazon.com/dp/1430263342/"
211 | }, {
212 | "name" : "Backbone.js Blueprints",
213 | "url" : "http://www.amazon.com/dp/1783286997/"
214 | }, {
215 | "name" : "Recipes with Backbone",
216 | "url" : "http://recipeswithbackbone.com/"
217 | }, {
218 | "name" : "Full Stack Web Development with Backbone.js",
219 | "url" : "http://shop.oreilly.com/product/0636920030799.do"
220 | }, {
221 | "name" : "Developing Single Page Apps with Backbone.js",
222 | "url" : "https://singlepagebook.supportbee.com/"
223 | } ]
224 | }, {
225 | "category" : "Videos",
226 | "items" : [ {
227 | "name" : "BackboneConf 2013",
228 | "url" : "https://www.youtube.com/playlist?list=PLlgxAbM67lYLJm9_Ub3gStXa2vjb51aUX"
229 | }, {
230 | "name" : "BackboneConf 2014",
231 | "url" : "https://www.youtube.com/playlist?list=PLlgxAbM67lYIGw8DnANC7VgREbzJRQged"
232 | }, {
233 | "name" : "Introduction to Backbone.js",
234 | "url" : "https://www.youtube.com/playlist?list=PLCE344BDBD8FAC282"
235 | }, {
236 | "name" : "Backbone App Walkthrough",
237 | "url" : "https://www.youtube.com/playlist?list=PL0C57F698BD4766B1"
238 | }, {
239 | "name" : "Backbone.js Tutorial",
240 | "url" : "http://www.youtube.com/playlist?list=PLTjRvDozrdlwn9IsHWEs9IQv3HQob4bH3"
241 | }, {
242 | "name" : "Backbone-Require-Boilerplate Explained",
243 | "url" : "http://gregfranko.com/blog/backbone-require-boilerplate-explained/"
244 | }, {
245 | "name" : "BackboneRails Screencasts",
246 | "url" : "http://www.backbonerails.com/"
247 | }, {
248 | "name" : "Backbone.js with Derick Bailey",
249 | "url" : "https://www.youtube.com/watch?v=VERQEr-bVTs"
250 | }, {
251 | "name" : "JavaScript Application Architecture with Backbone.js",
252 | "url" : "http://www.youtube.com/watch?v=PGgZ7qRvoGE"
253 | }, {
254 | "name" : "An Introduction to Backbone.js",
255 | "url" : "http://www.youtube.com/watch?v=PcTVQyrWSSs"
256 | }, {
257 | "name" : "Put Some Backbone.js in your Apps",
258 | "url" : "http://www.youtube.com/watch?v=jM8KE_Fa6JI"
259 | }, {
260 | "name" : "Evolving Your JavaScript with Backbone.js",
261 | "url" : "http://wordpress.tv/2013/09/05/k-adam-white-evolving-your-javascript-with-backbone-js/"
262 | } ]
263 | }, {
264 | "category" : "Examples and boilerplates",
265 | "items" : [ {
266 | "name" : "Backbone Require Boilerplate",
267 | "url" : "https://github.com/BoilerplateMVC/Backbone-Require-Boilerplate"
268 | }, {
269 | "name" : "Wine Cellar Sample Application",
270 | "url" : "https://github.com/ccoenraets/backbone-cellar"
271 | }, {
272 | "name" : "Employee Directory",
273 | "url" : "https://github.com/ccoenraets/directory-backbone-bootstrap"
274 | }, {
275 | "name" : "Backbone Contact Manager",
276 | "url" : "https://github.com/dmytroyarmak/backbone-contact-manager"
277 | }, {
278 | "name" : "Backbone Boilerplates",
279 | "url" : "https://github.com/addyosmani/backbone-boilerplates"
280 | }, {
281 | "name" : "Backbone TodoMVC example",
282 | "url" : "http://todomvc.com/examples/backbone/"
283 | } ]
284 | }, {
285 | "category" : "Courses",
286 | "items" : [ {
287 | "name" : "Anatomy of Backbone.js",
288 | "url" : "https://www.codeschool.com/courses/anatomy-of-backbone-js"
289 | }, {
290 | "name" : "Advanced Backbone Patterns and Techniques",
291 | "url" : "http://code.tutsplus.com/courses/advanced-backbone-patterns-and-techniques"
292 | }, {
293 | "name" : "Connected to the Backbone",
294 | "url" : "http://code.tutsplus.com/courses/connected-to-the-backbone"
295 | }, {
296 | "name" : "Structuring Your Web Apps via Backbone.js",
297 | "url" : "https://github.com/hegdeashwin/Backbone"
298 | }, {
299 | "name" : "Backbone.JS In-Depth and Introduction to Testing with Mocha and Sinon",
300 | "url" : "https://frontendmasters.com/courses/backbone-js-in-depth-testing-mocha-sinon/"
301 | }, {
302 | "name" : "Up and Running with Backbone.js",
303 | "url" : "http://www.lynda.com/Backbonejs-tutorials/Up-Running-Backbonejs/163089-2.html"
304 | }, {
305 | "name" : "Application Building Patterns with Backbone.js",
306 | "url" : "http://www.pluralsight.com/courses/playing-with-backbonejs"
307 | }, {
308 | "name" : "Backbone.js Fundamentals",
309 | "url" : "http://www.pluralsight.com/courses/backbone-fundamentals"
310 | } ]
311 | }, {
312 | "category" : "Libraries",
313 | "items" : [ {
314 | "name" : "Backbone.Relational",
315 | "url" : "https://github.com/PaulUithol/Backbone-relational"
316 | }, {
317 | "name" : "Backbone-forms",
318 | "url" : "https://github.com/powmedia/backbone-forms"
319 | }, {
320 | "name" : "Backgrid.js",
321 | "url" : "https://github.com/wyuenho/backgrid"
322 | }, {
323 | "name" : "Backbone.localStorage",
324 | "url" : "https://github.com/jeromegn/Backbone.localStorage"
325 | }, {
326 | "name" : "Backbone.stickit",
327 | "url" : "https://github.com/NYTimes/backbone.stickit"
328 | }, {
329 | "name" : "Backbone.paginator",
330 | "url" : "https://github.com/backbone-paginator/backbone.paginator"
331 | }, {
332 | "name" : "Backbone.validation",
333 | "url" : "https://github.com/thedersen/backbone.validation"
334 | }, {
335 | "name" : "Exoskeleton",
336 | "url" : "https://github.com/paulmillr/exoskeleton"
337 | }, {
338 | "name" : "Backbone.dualstorage",
339 | "url" : "https://github.com/nilbus/Backbone.dualStorage"
340 | }, {
341 | "name" : "Backbone.iobind",
342 | "url" : "https://github.com/noveogroup/backbone.iobind"
343 | }, {
344 | "name" : "Backbone-associations",
345 | "url" : "https://github.com/dhruvaray/backbone-associations"
346 | }, {
347 | "name" : "Backbone-tastypie",
348 | "url" : "https://github.com/PaulUithol/backbone-tastypie"
349 | }, {
350 | "name" : "Backbone.Radio",
351 | "url" : "https://github.com/marionettejs/backbone.radio"
352 | }, {
353 | "name" : "Backbone.BabySitter",
354 | "url" : "https://github.com/marionettejs/backbone.babysitter"
355 | }, {
356 | "name" : "Backbone.History.Polyfill",
357 | "url" : "https://github.com/FidelityInternational/BackboneHistoryPolyfill"
358 | } ]
359 | } ]
360 |
--------------------------------------------------------------------------------
/database/front-end-development/CycleJs.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Tutorials",
3 | "items" : [ {
4 | "name" : "What Developers Need to Know about MVI (Model-View-Intent)",
5 | "url" : "http://thenewstack.io/developers-need-know-mvi-model-view-intent/"
6 | }, {
7 | "name" : "Cycle.js: a reactive framework",
8 | "url" : "https://lucamezzalira.com/2016/05/23/cycle-js-a-reactive-framework/"
9 | }, {
10 | "name" : "Building realtime applications with CycleJS and RxJS",
11 | "url" : "https://blog.pusher.com/building-realtime-applications-with-cyclejs-and-rxjs/"
12 | }, {
13 | "name" : "Working with HTTP Streams with Cycle.js",
14 | "url" : "http://ivanjov.com/working-with-http-streams-with-cycle-js/"
15 | } ]
16 | }, {
17 | "category" : "Videos",
18 | "items" : [ {
19 | "description" : " Presentation at JSConf BP2015 by Andre Staltz",
20 | "name" : "What if the user was a function?",
21 | "url" : "https://www.youtube.com/watch?v=1zj7M1LnJV4"
22 | }, {
23 | "description" : " Presentation AtTheFrontend Conference by Andre Staltz",
24 | "name" : "Unidirectional data flow architectures",
25 | "url" : "https://vimeo.com/168652278"
26 | }, {
27 | "description" : " Presentation at ReactiveConf 2015 by Andre Staltz",
28 | "name" : "Cycle.js and functional reactive user interfaces",
29 | "url" : "https://www.youtube.com/watch?v=uNZnftSksYg"
30 | }, {
31 | "description" : " Presentation by Nick Johnstone",
32 | "name" : "Intro to Functional Reactive Programming with Cycle.js",
33 | "url" : "https://www.youtube.com/watch?v=6_ETUyh0tns"
34 | }, {
35 | "description" : " Playlist at egghead.io",
36 | "name" : "Cycle.js Fundamentals",
37 | "url" : "https://egghead.io/series/cycle-js-fundamentals"
38 | }, {
39 | "description" : " by Andre Staltz at Frontend.fi",
40 | "name" : "Cycle.js was built to solve problems",
41 | "url" : "https://www.youtube.com/watch?v=Rj8ZTRVka4E"
42 | }, {
43 | "description" : " by Andre Staltz at CycleConf 2016",
44 | "name" : "Brains as Building Blocks",
45 | "url" : "https://www.youtube.com/watch?v=1ToJ7cxb1R8"
46 | }, {
47 | "description" : " by Nick Johnstone at CycleConf 2016",
48 | "name" : "Back to the Future, Hot reloading with Cycle.js",
49 | "url" : "https://www.youtube.com/watch?v=rbrnyC5fXMM"
50 | }, {
51 | "description" : " by Gleb Bahmutov at CycleConf 2016",
52 | "name" : "From MVC to FRP",
53 | "url" : "https://www.youtube.com/watch?v=-PCq4pXaDZw"
54 | }, {
55 | "description" : " by Hadrien de Cuzey at CycleConf 2016",
56 | "name" : "Cycle.js on the bash side",
57 | "url" : "https://www.youtube.com/watch?v=Rx5N99TQ52g"
58 | }, {
59 | "description" : " by Luca Mezzalira at JSDay 2016",
60 | "name" : "Reactive Programming with Cycle.js",
61 | "url" : "https://vimeo.com/175121069"
62 | }, {
63 | "description" : " by Fernando Macias Pereznieto at JS Monthly London",
64 | "name" : "Learning how to ride: an introduction to Cycle.js",
65 | "url" : "https://youtu.be/31URmaeNHSs"
66 | }, {
67 | "description" : " Lightning talk by Thomas Belin at Dotjs 2016",
68 | "name" : "User Interfaces as Pure Functions of Time",
69 | "url" : "https://www.youtube.com/watch?v=9BG0Y3C6WqM"
70 | } ]
71 | }, {
72 | "category" : "Slides",
73 | "items" : [ {
74 | "name" : "Cycle.js an honestly reactive framework for web user interfaces",
75 | "url" : "http://slides.com/erykpiast/cycle"
76 | }, {
77 | "name" : "Intro to Cycle.js",
78 | "url" : "http://www.slideshare.net/aryelukashevski/cyclejs-introduction"
79 | }, {
80 | "name" : "Reactive Programming with Cycle.js",
81 | "url" : "http://www.slideshare.net/flashplatform/reactive-programming-with-cyclejs"
82 | }, {
83 | "description" : " building apps with streams only",
84 | "name" : "Cycle.js",
85 | "url" : "http://lmatteis.github.io/cyclejs-slides/keynote/index.html"
86 | }, {
87 | "name" : "Functional Reactive Programming with Cycle.js",
88 | "url" : "https://slides.com/artfuldev/frp-with-cycle-js"
89 | }, {
90 | "description" : " by Clément Delafargue",
91 | "name" : "Beyond flux: going full cycle with FRP",
92 | "url" : "https://clementd-files.cellar.services.clever-cloud.com/blog/frp-full-cycle-ncrafts.html"
93 | } ]
94 | }, {
95 | "category" : "Example Applications",
96 | "items" : [ {
97 | "name" : "cyclejs/cycle-examples",
98 | "url" : "https://github.com/cyclejs/cyclejs/tree/master/examples"
99 | }, {
100 | "name" : "Widdershin/tricycle ★23",
101 | "url" : "https://github.com/Widdershin/tricycle"
102 | }, {
103 | "name" : "cgeorg/todomvp ★21",
104 | "url" : "https://github.com/cgeorg/todomvp"
105 | }, {
106 | "name" : "erykpiast/cyclejs-examples ★9",
107 | "url" : "https://github.com/erykpiast/cyclejs-examples"
108 | }, {
109 | "name" : "grozen/trends-cycle ★3",
110 | "url" : "https://github.com/grozen/trends-cycle"
111 | }, {
112 | "name" : "ivan-kleshnin/cyclejs-examples ★120",
113 | "url" : "https://github.com/ivan-kleshnin/cyclejs-examples"
114 | }, {
115 | "name" : "ivan-kleshnin/tetris-cyclejs ★12",
116 | "url" : "https://github.com/ivan-kleshnin/tetris-game"
117 | }, {
118 | "name" : "phadej/graafi ★20",
119 | "url" : "https://github.com/phadej/graafi"
120 | }, {
121 | "description" : " A interactive matrix multiplication webapp",
122 | "name" : "staltz/matrixmultiplication.xyz ★548",
123 | "url" : "https://github.com/staltz/matrixmultiplication.xyz"
124 | }, {
125 | "name" : "staltz/rxmarbles ★2,577",
126 | "url" : "https://github.com/staltz/rxmarbles"
127 | }, {
128 | "name" : "MarcCloud/magic-cart ★6",
129 | "url" : "https://github.com/MarcCloud/magic-cart"
130 | }, {
131 | "name" : "foxdonut/cycle-todolist ★11",
132 | "url" : "https://github.com/foxdonut/cycle-todolist"
133 | }, {
134 | "name" : "Mercateo/component-check ★468",
135 | "url" : "https://github.com/Mercateo/component-check"
136 | }, {
137 | "name" : "edge/electron-cycle-media ★27",
138 | "url" : "https://github.com/edge/electron-cycle-media"
139 | }, {
140 | "name" : "kibin/cycle-example-who-to-follow ★16",
141 | "url" : "https://github.com/kibin/cycle-example-who-to-follow"
142 | }, {
143 | "name" : "SkaterDad/cycle-snabbdom-examples ★12",
144 | "url" : "https://github.com/SkaterDad/cycle-snabbdom-examples"
145 | }, {
146 | "description" : " Interactive visualization of counter application showing the data flow inside a MVI component glebbahmutov.com/draw-cycle",
147 | "name" : "bahmutov/draw-cycle ★112",
148 | "url" : "https://github.com/bahmutov/draw-cycle"
149 | }, {
150 | "name" : "andreloureiro/pomocycle ★21",
151 | "url" : "https://github.com/andreloureiro/pomocycle"
152 | }, {
153 | "name" : "laszlokorte/tams-tools ★24",
154 | "url" : "https://github.com/laszlokorte/tams-tools"
155 | }, {
156 | "name" : "lucamezzalira/jsday-cycle-js ★16",
157 | "url" : "https://github.com/lucamezzalira/jsday-cycle-js"
158 | }, {
159 | "description" : " A website",
160 | "name" : "cyclejs-community/built-with-cycle ★9",
161 | "url" : "https://github.com/cyclejs-community/built-with-cycle"
162 | }, {
163 | "name" : "class-ideas/cyclejs-hangman ★10",
164 | "url" : "https://github.com/class-ideas/cyclejs-hangman"
165 | }, {
166 | "name" : "wmaurer/cyclejs-fractals ★15",
167 | "url" : "https://github.com/wmaurer/cyclejs-fractals"
168 | }, {
169 | "name" : "fabiothiroki/cyclejs-starwars ★2",
170 | "url" : "https://github.com/fabiothiroki/cyclejs-starwars"
171 | }, {
172 | "name" : "staltz/mmmmm-mobile ★124",
173 | "url" : "https://github.com/staltz/mmmmm-mobile/"
174 | }, {
175 | "description" : " TodoMVC example",
176 | "name" : "cyclejs/todomvc-cycle ★214",
177 | "url" : "https://github.com/cyclejs/todomvc-cycle/"
178 | }, {
179 | "name" : "jefersondaniel/cyclejs-notes",
180 | "url" : "https://github.com/jefersondaniel/cyclejs-notes/"
181 | }, {
182 | "name" : "staltz/dat-installer ★77",
183 | "url" : "https://github.com/staltz/dat-installer"
184 | }, {
185 | "name" : "usm4n/cycle-hn ★25",
186 | "url" : "https://github.com/usm4n/cycle-hn"
187 | } ]
188 | }, {
189 | "category" : "Tools"
190 | }, {
191 | "category" : "CLI",
192 | "items" : [ {
193 | "name" : "cyclejs-community/create-cycle-app ★160",
194 | "url" : "https://github.com/cyclejs-community/create-cycle-app"
195 | } ]
196 | }, {
197 | "category" : "Libraries"
198 | }, {
199 | "category" : "Drivers",
200 | "items" : [ {
201 | "name" : "@cycle/http",
202 | "url" : "https://github.com/cyclejs/cyclejs/tree/master/http"
203 | }, {
204 | "name" : "@cycle/dom",
205 | "url" : "https://github.com/cyclejs/cyclejs/tree/master/dom"
206 | }, {
207 | "name" : "@cycle/storage",
208 | "url" : "https://github.com/cyclejs/storage"
209 | }, {
210 | "description" : " This is the standard Cycle.js driver for dealing with the History API",
211 | "name" : "@cycle/history",
212 | "url" : "https://github.com/cyclejs/cyclejs/tree/master/history"
213 | }, {
214 | "name" : "@cycle/isolate",
215 | "url" : "https://github.com/cyclejs/cyclejs/tree/master/isolate"
216 | }, {
217 | "name" : "@cycle/time",
218 | "url" : "https://github.com/cyclejs/cyclejs/tree/master/time"
219 | }, {
220 | "name" : "cyclejs/cycle-notification-driver ★20",
221 | "url" : "https://github.com/cyclejs/cycle-notification-driver"
222 | }, {
223 | "name" : "axefrog/cycle-router5 ★30",
224 | "url" : "https://github.com/axefrog/cycle-router5"
225 | }, {
226 | "name" : "cgeorg/cycle-socket.io ★27",
227 | "url" : "https://github.com/cgeorg/cycle-socket.io"
228 | }, {
229 | "name" : "secobarbital/cycle-fetch-driver ★2",
230 | "url" : "https://github.com/secobarbital/cycle-fetch-driver"
231 | }, {
232 | "description" : " A Cycle.js Driver for making HTTP requests using stackable-fetcher",
233 | "name" : "r7kamura/cycle-fetcher-driver ★14",
234 | "url" : "https://github.com/r7kamura/cycle-fetcher-driver"
235 | }, {
236 | "description" : " A Cycle.js Driver for manipulating the Web Audio API using virtual-audio-graph",
237 | "name" : "benji6/cycle-audio-graph ★12",
238 | "url" : "https://github.com/benji6/cycle-audio-graph"
239 | }, {
240 | "name" : "CyclicMaterials/cycle-hammer-driver ★11",
241 | "url" : "https://github.com/CyclicMaterials/cycle-hammer-driver"
242 | }, {
243 | "name" : "jessaustin/cycle-sse-driver ★6",
244 | "url" : "https://github.com/jessaustin/cycle-sse-driver"
245 | }, {
246 | "name" : "tylors/cycle-snabbdom ★41",
247 | "url" : "https://github.com/TylorS/cycle-snabbdom"
248 | }, {
249 | "name" : "cyclejs-community/cyclic-router ★90",
250 | "url" : "https://github.com/cyclejs-community/cyclic-router"
251 | }, {
252 | "name" : "Widdershin/cycle-animation-driver ★33",
253 | "url" : "https://github.com/Widdershin/cycle-animation-driver"
254 | }, {
255 | "name" : "dralletje/cycle-firebase ★21",
256 | "url" : "https://github.com/dralletje/cycle-firebase"
257 | }, {
258 | "name" : "edge/cycle-blessed ★46",
259 | "url" : "https://github.com/edge/cycle-blessed"
260 | }, {
261 | "name" : "10clouds/cyclejs-cookie ★2",
262 | "url" : "https://github.com/10clouds/cyclejs-cookie"
263 | }, {
264 | "name" : "whitecolor/cycle-async-driver ★25",
265 | "url" : "https://github.com/whitecolor/cycle-async-driver"
266 | }, {
267 | "name" : "raquelxmoss/cycle-keys ★35",
268 | "url" : "https://github.com/raquelxmoss/cycle-keys"
269 | }, {
270 | "name" : "rektide/recyclec ★0",
271 | "url" : "https://github.com/rektide/recyclec"
272 | }, {
273 | "name" : "goodmind/cycle-telegram ★15",
274 | "url" : "https://github.com/goodmind/cycle-telegram"
275 | }, {
276 | "name" : "apoco/cycle-electron-driver ★22",
277 | "url" : "https://github.com/apoco/cycle-electron-driver"
278 | }, {
279 | "name" : "rkrupinski/cyclejs-animated-localstorage ★12",
280 | "url" : "https://github.com/rkrupinski/cyclejs-animated-localstorage"
281 | }, {
282 | "name" : "cyclejs-community/cycle-keyboard ★9",
283 | "url" : "https://github.com/cyclejs-community/cycle-keyboard"
284 | }, {
285 | "name" : "garrydzeng/cycle-page ★3",
286 | "url" : "https://github.com/garrydzeng/cycle-page"
287 | }, {
288 | "name" : "jbowden1982/cycle-socketcluster ★5",
289 | "url" : "https://github.com/jbowden1982/cycle-socketcluster"
290 | }, {
291 | "name" : "cyclejs-community/redux-cycles ★599",
292 | "url" : "https://github.com/cyclejs-community/redux-cycles"
293 | }, {
294 | "name" : "JuniperChicago/cycle-gun ★18",
295 | "url" : "https://github.com/JuniperChicago/cycle-gun"
296 | }, {
297 | "description" : " A Cycle.js driver for deepstream.io",
298 | "name" : "EnigmaCurry/cycle-deepstream ★8",
299 | "url" : "https://github.com/EnigmaCurry/cycle-deepstream"
300 | }, {
301 | "name" : "Alex0007/cycle-express-driver ★1",
302 | "url" : "https://github.com/Alex0007/cycle-express-driver"
303 | }, {
304 | "name" : "mrpierrot/cycle-node-http-server ★4",
305 | "url" : "https://github.com/mrpierrot/cycle-node-http-server"
306 | }, {
307 | "name" : "Avalander/cycle-idb ★4",
308 | "url" : "https://github.com/Avalander/cycle-idb"
309 | }, {
310 | "description" : " A Cycle.js driver for Pusher",
311 | "name" : "unhappychoice/cycle-pusher ★1",
312 | "url" : "https://github.com/unhappychoice/cycle-pusher"
313 | } ]
314 | }, {
315 | "category" : "Utilities",
316 | "items" : [ {
317 | "name" : "staltz/chai-virtual-dom ★24",
318 | "url" : "https://github.com/staltz/chai-virtual-dom"
319 | }, {
320 | "name" : "cgeorg/sinject ★10",
321 | "url" : "https://github.com/cgeorg/sinject"
322 | }, {
323 | "name" : "erykpiast/cyclejs-group ★20",
324 | "url" : "https://github.com/erykpiast/cyclejs-group"
325 | }, {
326 | "name" : "erykpiast/cyclejs-wc ★2",
327 | "url" : "https://github.com/erykpiast/cyclejs-wc"
328 | }, {
329 | "name" : "ohanhi/hyperscript-helpers ★390",
330 | "url" : "https://github.com/ohanhi/hyperscript-helpers"
331 | }, {
332 | "name" : "pH200/cycle-react ★342",
333 | "url" : "https://github.com/pH200/cycle-react"
334 | }, {
335 | "description" : " A helper function and macro for using Earl Grey's document-building syntax",
336 | "name" : "madcapjake/earlhyperscript ★2",
337 | "url" : "https://github.com/MadcapJake/earl-hyperscript"
338 | }, {
339 | "name" : "WorldMaker/cycle-gear ★4",
340 | "url" : "https://github.com/WorldMaker/cycle-gear"
341 | }, {
342 | "name" : "SuperManitu/cyclejs-sortable ★15",
343 | "url" : "https://github.com/cyclejs-community/cyclejs-sortable"
344 | }, {
345 | "name" : "atomrc/cyclejs-auth0 ★22",
346 | "url" : "https://github.com/atomrc/cyclejs-auth0"
347 | }, {
348 | "name" : "staltz/cycle-onionify ★244",
349 | "url" : "https://github.com/staltz/cycle-onionify"
350 | }, {
351 | "name" : "maiermic/cycle-storageify ★5",
352 | "url" : "https://github.com/maiermic/cycle-storageify"
353 | } ]
354 | }, {
355 | "category" : "Boilerplates",
356 | "items" : [ {
357 | "name" : "andreloureiro/cyclejs-starter ★50",
358 | "url" : "https://github.com/andreloureiro/cyclejs-starter"
359 | }, {
360 | "name" : "Frikki/generator-cyclejs ★2",
361 | "url" : "https://github.com/Frikki/generator-cyclejs"
362 | }, {
363 | "name" : "adicirstei/cycle-bp ★5",
364 | "url" : "https://github.com/adicirstei/cycle-bp"
365 | }, {
366 | "name" : "edge/cyc ★194",
367 | "url" : "https://github.com/edge/cyc"
368 | }, {
369 | "name" : "cmdv/cycle-webpack-boilerplate ★101",
370 | "url" : "https://github.com/Cmdv/cycle-webpack-boilerplate"
371 | }, {
372 | "name" : "Widdershin/cycle-hot-reloading-example ★27",
373 | "url" : "https://github.com/Widdershin/cycle-hot-reloading-example"
374 | }, {
375 | "name" : "mciparelli/cycle-hmr-example ★0",
376 | "url" : "https://github.com/mciparelli/cycle-hmr-example"
377 | }, {
378 | "name" : "cycle-community/typescript-starter-cycle ★22",
379 | "url" : "https://github.com/cyclejs-community/typescript-starter-cycle"
380 | }, {
381 | "name" : "wyqydsyq/unicycle ★6",
382 | "url" : "https://github.com/wyqydsyq/unicycle"
383 | }, {
384 | "name" : "syarul/cycle-iso ★4",
385 | "url" : "https://github.com/syarul/cycle-iso"
386 | } ]
387 | }, {
388 | "category" : "Testing",
389 | "items" : [ {
390 | "name" : "erykpiast/cyclejs-mock ★22",
391 | "url" : "https://github.com/erykpiast/cyclejs-mock"
392 | }, {
393 | "name" : "jeysal/pretty-format-snabbdom ★0",
394 | "url" : "https://github.com/jeysal/pretty-format-snabbdom"
395 | } ]
396 | }, {
397 | "category" : "Debugging",
398 | "items" : [ {
399 | "description" : " A time travelling debugger for Cycle.js apps. Displays a stream visualizer that you can drag to go back in time",
400 | "name" : "cyclejs/cycle-time-travel ★205",
401 | "url" : "https://github.com/cyclejs/cycle-time-travel"
402 | } ]
403 | }, {
404 | "category" : "Components",
405 | "items" : [ {
406 | "name" : "erykpiast/autocompleted-select ★10",
407 | "url" : "https://github.com/erykpiast/autocompleted-select"
408 | }, {
409 | "description" : " Calendar component for Cycle.js. Try it online here",
410 | "name" : "enten/cyclejs-calendar ★11",
411 | "url" : "https://github.com/enten/cyclejs-calendar"
412 | }, {
413 | "name" : "mciparelli/cyclejs-gravatar ★0",
414 | "url" : "https://github.com/mciparelli/cyclejs-gravatar"
415 | }, {
416 | "description" : "Cycle.js intergration with Ace Editor using Brace",
417 | "name" : "tommy-the-runner/cyclejs-ace-editor ★0",
418 | "url" : "https://github.com/tommy-the-runner/cyclejs-ace-editor"
419 | }, {
420 | "description" : " A Color Picker component for Cycle.js. Check out the example",
421 | "name" : "raquelxmoss/cycle-color-picker ★44",
422 | "url" : "https://github.com/raquelxmoss/cycle-color-picker"
423 | }, {
424 | "name" : "cyclejs-community/cycle-svg-pan-and-zoom ★4",
425 | "url" : "https://github.com/cyclejs-community/cycle-svg-pan-and-zoom"
426 | } ]
427 | }, {
428 | "category" : "Community",
429 | "items" : [ {
430 | "name" : "Gitter chat",
431 | "url" : "https://gitter.im/cyclejs/cycle-core"
432 | } ]
433 | } ]
434 |
--------------------------------------------------------------------------------
/database/front-end-development/D3.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Charts",
3 | "items" : [ {
4 | "name" : "billboard",
5 | "url" : "https://github.com/naver/billboard.js"
6 | }, {
7 | "name" : "britecharts",
8 | "url" : "https://github.com/eventbrite/britecharts/"
9 | }, {
10 | "name" : "bullet chart",
11 | "url" : "https://github.com/d3/d3-plugins/tree/master/bullet"
12 | }, {
13 | "name" : "cirrus.js",
14 | "url" : "https://github.com/planet-os/cirrusjs"
15 | }, {
16 | "name" : "cubism",
17 | "url" : "https://github.com/square/cubism"
18 | }, {
19 | "name" : "cola.js",
20 | "url" : "https://github.com/tgdwyer/WebCola"
21 | }, {
22 | "name" : "c3",
23 | "url" : "https://github.com/c3js/c3"
24 | }, {
25 | "name" : "dagre-d3",
26 | "url" : "https://github.com/cpettitt/dagre-d3"
27 | }, {
28 | "name" : "dc",
29 | "url" : "https://github.com/dc-js/dc.js"
30 | }, {
31 | "name" : "dimple",
32 | "url" : "https://github.com/PMSI-AlignAlytics/dimple"
33 | }, {
34 | "name" : "d2b",
35 | "url" : "https://github.com/d2bjs/d2b"
36 | }, {
37 | "name" : "d3.chart",
38 | "url" : "https://github.com/misoproject/d3.chart"
39 | }, {
40 | "name" : "d3.chart.sankey",
41 | "url" : "https://github.com/q-m/d3.chart.sankey"
42 | }, {
43 | "name" : "d3-bar",
44 | "url" : "https://github.com/tj/d3-bar"
45 | }, {
46 | "name" : "d3-beeswarm",
47 | "url" : "https://github.com/Kcnarf/d3-beeswarm"
48 | }, {
49 | "name" : "d3-bumps-chart",
50 | "url" : "https://github.com/johnwalley/d3-bumps-chart"
51 | }, {
52 | "name" : "d3-circle",
53 | "url" : "https://github.com/tj/d3-circle"
54 | }, {
55 | "name" : "d3-dot",
56 | "url" : "https://github.com/tj/d3-dot"
57 | }, {
58 | "name" : "d3-heatmap",
59 | "url" : "https://github.com/tj/d3-heatmap"
60 | }, {
61 | "name" : "d3-line",
62 | "url" : "https://github.com/tj/d3-line"
63 | }, {
64 | "name" : "d3-flame-graph",
65 | "url" : "https://github.com/spiermar/d3-flame-graph"
66 | }, {
67 | "name" : "d3-horizon-chart",
68 | "url" : "https://github.com/kmandov/d3-horizon-chart"
69 | }, {
70 | "name" : "d3-message-sequence",
71 | "url" : "https://github.com/koudelka/d3-message-sequence"
72 | }, {
73 | "name" : "d3-plus",
74 | "url" : "https://github.com/alexandersimoes/d3plus"
75 | }, {
76 | "name" : "d3-timeline",
77 | "url" : "https://github.com/commodityvectors/d3-timeline"
78 | }, {
79 | "name" : "d3fc",
80 | "url" : "https://github.com/d3fc/d3fc"
81 | }, {
82 | "name" : "D3Funnel",
83 | "url" : "https://github.com/jakezatecky/d3-funnel"
84 | }, {
85 | "name" : "d3panels",
86 | "url" : "https://github.com/kbroman/d3panels"
87 | }, {
88 | "name" : "d3pie",
89 | "url" : "https://github.com/benkeen/d3pie"
90 | }, {
91 | "name" : "D3xter",
92 | "url" : "https://github.com/NathanEpstein/D3xter"
93 | }, {
94 | "name" : "d3 timeseries",
95 | "url" : "https://github.com/mcaule/d3-timeseries"
96 | }, {
97 | "name" : "D4",
98 | "url" : "https://github.com/heavysixer/d4"
99 | }, {
100 | "name" : "dTree",
101 | "url" : "https://github.com/ErikGartner/dTree"
102 | }, {
103 | "name" : "epoch",
104 | "url" : "https://github.com/epochjs/epoch"
105 | }, {
106 | "name" : "EventDrops",
107 | "url" : "https://github.com/marmelab/EventDrops"
108 | }, {
109 | "name" : "fancycharts",
110 | "url" : "https://github.com/ahoiin/Fancycharts.js"
111 | }, {
112 | "name" : "firespray",
113 | "url" : "https://github.com/boundary/firespray"
114 | }, {
115 | "name" : "forest-d3",
116 | "url" : "https://github.com/robinfhu/forest-d3"
117 | }, {
118 | "name" : "Gantt-Chart",
119 | "url" : "https://github.com/dk8996/Gantt-Chart"
120 | }, {
121 | "name" : "insights",
122 | "url" : "https://github.com/ignacioola/insights"
123 | }, {
124 | "name" : "kotojs",
125 | "url" : "https://github.com/kotojs/kotojs"
126 | }, {
127 | "name" : "metricsgraphics",
128 | "url" : "https://github.com/mozilla/metrics-graphics"
129 | }, {
130 | "name" : "micropolar",
131 | "url" : "https://github.com/biovisualize/micropolar/"
132 | }, {
133 | "name" : "mpld3",
134 | "url" : "https://github.com/mpld3/mpld3"
135 | }, {
136 | "name" : "neo4jd3",
137 | "url" : "https://github.com/eisman/neo4jd3"
138 | }, {
139 | "name" : "nvd3",
140 | "url" : "https://github.com/novus/nvd3"
141 | }, {
142 | "name" : "peek",
143 | "url" : "https://github.com/mtmacdonald/peek"
144 | }, {
145 | "name" : "plotly",
146 | "url" : "https://github.com/plotly/plotly.js/"
147 | }, {
148 | "name" : "plottablejs",
149 | "url" : "https://github.com/palantir/plottable"
150 | }, {
151 | "name" : "pykcharts",
152 | "url" : "https://github.com/pykih/PykCharts.js"
153 | }, {
154 | "name" : "radar chart",
155 | "url" : "https://github.com/alangrafu/radar-chart-d3"
156 | }, {
157 | "name" : "rickshaw",
158 | "url" : "https://github.com/shutterstock/rickshaw"
159 | }, {
160 | "name" : "sankey",
161 | "url" : "https://github.com/d3/d3-plugins/tree/master/sankey"
162 | }, {
163 | "name" : "taucharts",
164 | "url" : "https://github.com/TargetProcess/tauCharts"
165 | }, {
166 | "name" : "techanjs",
167 | "url" : "https://github.com/andredumas/techan.js"
168 | }, {
169 | "name" : "uvCharts",
170 | "url" : "https://github.com/imaginea/uvCharts"
171 | }, {
172 | "name" : "vega",
173 | "url" : "https://github.com/vega/vega"
174 | }, {
175 | "name" : "vega-lite",
176 | "url" : "https://github.com/vega/vega-lite"
177 | }, {
178 | "name" : "venn.js",
179 | "url" : "https://github.com/benfred/venn.js"
180 | }, {
181 | "name" : "visavail",
182 | "url" : "https://github.com/flrs/visavail"
183 | }, {
184 | "name" : "vizabi",
185 | "url" : "https://github.com/Gapminder/vizabi"
186 | }, {
187 | "name" : "xkcdgraphs",
188 | "url" : "https://github.com/imkevinxu/xkcdgraphs"
189 | } ]
190 | }, {
191 | "category" : "Third Party Charts",
192 | "items" : [ {
193 | "name" : "angular-nvd3",
194 | "url" : "https://github.com/krispo/angular-nvd3"
195 | }, {
196 | "name" : "d3act",
197 | "url" : "https://github.com/AnSavvides/d3act"
198 | }, {
199 | "name" : "d3 simplecharts",
200 | "url" : "https://github.com/mrBigJS/d3-simpleCharts"
201 | }, {
202 | "name" : "ember charts",
203 | "url" : "https://github.com/Addepar/ember-charts/"
204 | }, {
205 | "name" : "n3-charts",
206 | "url" : "https://github.com/n3-charts/line-chart"
207 | }, {
208 | "name" : "nivo",
209 | "url" : "https://github.com/plouc/nivo"
210 | }, {
211 | "name" : "numberpicture",
212 | "url" : "https://github.com/finnfiddle/number-picture"
213 | }, {
214 | "name" : "react-d3",
215 | "url" : "https://github.com/esbullington/react-d3"
216 | }, {
217 | "name" : "react-d3-components",
218 | "url" : "https://github.com/codesuki/react-d3-components"
219 | }, {
220 | "name" : "react-d3-library",
221 | "url" : "https://github.com/react-d3-library/react-d3-library"
222 | }, {
223 | "name" : "react-stockcharts",
224 | "url" : "https://github.com/rrag/react-stockcharts"
225 | }, {
226 | "name" : "react-vis",
227 | "url" : "https://github.com/uber-common/react-vis"
228 | }, {
229 | "name" : "recharts",
230 | "url" : "https://github.com/recharts/recharts"
231 | }, {
232 | "name" : "semiotic",
233 | "url" : "https://github.com/emeeks/semiotic"
234 | }, {
235 | "name" : "victory",
236 | "url" : "https://github.com/FormidableLabs/victory"
237 | }, {
238 | "name" : "vx",
239 | "url" : "https://github.com/hshoff/vx"
240 | } ]
241 | }, {
242 | "category" : "Maps",
243 | "items" : [ {
244 | "name" : "carto map",
245 | "url" : "https://github.com/emeeks/d3-carto-map"
246 | }, {
247 | "name" : "composite-projections",
248 | "url" : "https://github.com/rveciana/d3-composite-projections"
249 | }, {
250 | "name" : "datamaps",
251 | "url" : "https://github.com/markmarkoh/datamaps"
252 | }, {
253 | "name" : "d3 cartogram",
254 | "url" : "https://github.com/shawnbot/topogram"
255 | }, {
256 | "name" : "d3 exploder",
257 | "url" : "https://github.com/bsouthga/d3-exploder"
258 | }, {
259 | "name" : "d3 geo projection",
260 | "url" : "https://github.com/d3/d3-geo-projection"
261 | }, {
262 | "name" : "d3 geomap",
263 | "url" : "https://github.com/yaph/d3-geomap"
264 | }, {
265 | "name" : "d3.geo2rect",
266 | "url" : "https://github.com/sebastian-meier/d3.geo2rect"
267 | }, {
268 | "name" : "earthjs.js",
269 | "url" : "https://github.com/earthjs/earthjs"
270 | }, {
271 | "name" : "mapmap.js",
272 | "url" : "https://github.com/floledermann/mapmap.js"
273 | }, {
274 | "name" : "mapsense.js",
275 | "url" : "https://github.com/mapsense/mapsense.js"
276 | }, {
277 | "name" : "maptable",
278 | "url" : "https://github.com/Packet-Clearing-House/maptable"
279 | }, {
280 | "name" : "simple map",
281 | "url" : "https://github.com/MinnPost/simple-map-d3"
282 | }, {
283 | "name" : "spam",
284 | "url" : "https://github.com/newsappsio/spam"
285 | } ]
286 | }, {
287 | "category" : "Third Party Maps",
288 | "items" : [ {
289 | "name" : "leaflet-d3",
290 | "url" : "https://github.com/Asymmetrik/leaflet-d3"
291 | }, {
292 | "name" : "React D3 Map",
293 | "url" : "https://github.com/react-d3/react-d3-basic"
294 | }, {
295 | "name" : "Wikimaps-D3js Atlas",
296 | "url" : "https://github.com/WikimapsAtlas/make-modules"
297 | } ]
298 | }, {
299 | "category" : "Utils",
300 | "items" : [ {
301 | "name" : "chroniton",
302 | "url" : "https://github.com/tmcw/chroniton"
303 | }, {
304 | "name" : "d3kit-timeline",
305 | "url" : "https://github.com/kristw/d3kit-timeline"
306 | }, {
307 | "name" : "d3scription",
308 | "url" : "https://github.com/GlobalWebIndex/d3scription"
309 | }, {
310 | "name" : "d3-annotation",
311 | "url" : "https://github.com/susielu/d3-annotation"
312 | }, {
313 | "name" : "d3-area-label",
314 | "url" : "https://github.com/curran/d3-area-label"
315 | }, {
316 | "name" : "d3-breadcrumbs",
317 | "url" : "https://github.com/bumbeishvili/d3-breadcrumbs"
318 | }, {
319 | "name" : "d3-component",
320 | "url" : "https://github.com/curran/d3-component"
321 | }, {
322 | "name" : "d3-extended",
323 | "url" : "https://github.com/wbkd/d3-extended"
324 | }, {
325 | "name" : "d3-helpers",
326 | "url" : "https://github.com/bahmutov/d3-helpers"
327 | }, {
328 | "name" : "d3-history",
329 | "url" : "https://github.com/vijithassar/d3-history"
330 | }, {
331 | "name" : "d3-iconarray",
332 | "url" : "https://github.com/tomgp/d3-iconarray"
333 | }, {
334 | "name" : "d3-kit",
335 | "url" : "https://github.com/twitter/d3kit"
336 | }, {
337 | "name" : "d3-Labeler",
338 | "url" : "https://github.com/tinker10/D3-Labeler"
339 | }, {
340 | "name" : "d3-lasso",
341 | "url" : "https://github.com/skokenes/d3-lasso"
342 | }, {
343 | "name" : "d3-legend",
344 | "url" : "https://github.com/susielu/d3-legend"
345 | }, {
346 | "name" : "d3-loom",
347 | "url" : "https://github.com/nbremer/d3-loom"
348 | }, {
349 | "name" : "d3-nelson-rules",
350 | "url" : "https://github.com/kiernanmcgowan/d3-nelson-rules"
351 | }, {
352 | "name" : "d3-peaks",
353 | "url" : "https://github.com/efekarakus/d3-peaks"
354 | }, {
355 | "name" : "d3-ring-note",
356 | "url" : "https://github.com/armollica/d3-ring-note"
357 | }, {
358 | "name" : "d3-scale-cluster",
359 | "url" : "https://github.com/schnerd/d3-scale-cluster"
360 | }, {
361 | "name" : "d3-sparql",
362 | "url" : "https://github.com/zazuko/d3-sparql"
363 | }, {
364 | "name" : "d3-starterkit",
365 | "url" : "https://github.com/1wheel/d3-starterkit"
366 | }, {
367 | "name" : "d3-tip",
368 | "url" : "https://github.com/Caged/d3-tip"
369 | }, {
370 | "name" : "d3-tipy",
371 | "url" : "https://github.com/tj/d3-tipy"
372 | }, {
373 | "name" : "d3-tooltip",
374 | "url" : "https://github.com/bumbeishvili/d3-tooltip"
375 | }, {
376 | "name" : "d3-trail",
377 | "url" : "https://github.com/bmschmidt/D3-trail"
378 | }, {
379 | "name" : "d3-xray",
380 | "url" : "https://github.com/vijithassar/d3-xray"
381 | }, {
382 | "name" : "d3.slider",
383 | "url" : "https://github.com/MasterMaps/d3-slider"
384 | }, {
385 | "name" : "d3.svg.circularbrush",
386 | "url" : "https://github.com/emeeks/d3.svg.circularbrush"
387 | }, {
388 | "name" : "d3.svg.ribbon",
389 | "url" : "https://github.com/emeeks/d3.svg.ribbon"
390 | }, {
391 | "name" : "iopctrl",
392 | "url" : "https://github.com/metormote/iopctrl"
393 | }, {
394 | "name" : "jetpack",
395 | "url" : "https://github.com/gka/d3-jetpack"
396 | }, {
397 | "name" : "kodama",
398 | "url" : "https://github.com/DarkMarmot/kodama"
399 | }, {
400 | "name" : "swoopyarrows",
401 | "url" : "https://github.com/bizweekgraphics/swoopyarrows"
402 | }, {
403 | "name" : "swoopyDrag",
404 | "url" : "https://github.com/1wheel/swoopy-drag"
405 | }, {
406 | "name" : "textures",
407 | "url" : "https://github.com/riccardoscalco/textures"
408 | } ]
409 | }, {
410 | "category" : "Miscellaneous",
411 | "items" : [ {
412 | "name" : "chess-dataviz",
413 | "url" : "https://github.com/ebemunk/chess-dataviz"
414 | }, {
415 | "name" : "codeflower",
416 | "url" : "https://github.com/fzaninotto/CodeFlower"
417 | }, {
418 | "name" : "comic.js",
419 | "url" : "https://github.com/balint42/comic.js"
420 | }, {
421 | "name" : "dragit",
422 | "url" : "https://github.com/romsson/dragit"
423 | }, {
424 | "name" : "d3moji",
425 | "url" : "https://github.com/mathisonian/d3moji"
426 | }, {
427 | "name" : "d3-cloud",
428 | "url" : "https://github.com/jasondavies/d3-cloud"
429 | }, {
430 | "name" : "d3-context-menu",
431 | "url" : "https://github.com/patorjk/d3-context-menu"
432 | }, {
433 | "name" : "d3-force-gravity",
434 | "url" : "https://github.com/sohamkamani/d3-force-gravity"
435 | }, {
436 | "name" : "d3-resume",
437 | "url" : "https://github.com/glena/d3-resume"
438 | }, {
439 | "name" : "d3.sketchy",
440 | "url" : "https://github.com/sebastian-meier/d3.sketchy"
441 | }, {
442 | "name" : "d3plus-text",
443 | "url" : "https://github.com/d3plus/d3plus-text"
444 | }, {
445 | "name" : "graph-scroll",
446 | "url" : "https://github.com/1wheel/graph-scroll"
447 | }, {
448 | "name" : "jsdocs2diagram",
449 | "url" : "https://github.com/amcmillan01/jsdoc2diagram"
450 | }, {
451 | "name" : "mermaid",
452 | "url" : "https://github.com/knsv/mermaid"
453 | }, {
454 | "name" : "netvis",
455 | "url" : "https://github.com/dborzov/netvis"
456 | } ]
457 | }, {
458 | "category" : "Server side",
459 | "items" : [ {
460 | "name" : "d3-node",
461 | "url" : "https://github.com/d3-node/d3-node"
462 | } ]
463 | }, {
464 | "category" : "Code Editors",
465 | "items" : [ {
466 | "name" : "Snippets for Atom",
467 | "url" : "https://github.com/martgnz/d3-snippets"
468 | }, {
469 | "name" : "Snippets for Sublime Text 2",
470 | "url" : "https://github.com/fabriciotav/d3-snippets-for-sublime-text-2"
471 | } ]
472 | }, {
473 | "category" : "Bl.ocks.org Profiles",
474 | "items" : [ {
475 | "name" : "Adam Pearce",
476 | "url" : "https://bl.ocks.org/1wheel"
477 | }, {
478 | "name" : "Colin Eberhardt",
479 | "url" : "https://bl.ocks.org/ColinEberhardt"
480 | }, {
481 | "name" : "Harry Stevens",
482 | "url" : "https://bl.ocks.org/HarryStevens"
483 | }, {
484 | "name" : "Luis Sevillano",
485 | "url" : "https://bl.ocks.org/LuisSevillano"
486 | }, {
487 | "name" : "Peter Cook",
488 | "url" : "https://bl.ocks.org/d3indepth"
489 | }, {
490 | "name" : "Elijah Meeks",
491 | "url" : "https://bl.ocks.org/emeeks"
492 | }, {
493 | "name" : "Ian Johnson",
494 | "url" : "https://bl.ocks.org/enjalot"
495 | }, {
496 | "name" : "Philippe Rivière",
497 | "url" : "https://bl.ocks.org/fil"
498 | }, {
499 | "name" : "Mike Bostock",
500 | "url" : "https://bl.ocks.org/mbostock"
501 | }, {
502 | "name" : "Micah Stubbs",
503 | "url" : "https://bl.ocks.org/micahstubbs"
504 | }, {
505 | "name" : "Nadieh Bremer",
506 | "url" : "https://bl.ocks.org/nbremer"
507 | }, {
508 | "name" : "Matteo Abrate",
509 | "url" : "https://bl.ocks.org/nitaku"
510 | }, {
511 | "name" : "Susie Lu",
512 | "url" : "https://bl.ocks.org/susielu"
513 | }, {
514 | "name" : "Shirley Wu",
515 | "url" : "https://bl.ocks.org/sxywu"
516 | }, {
517 | "name" : "Kai Chang",
518 | "url" : "https://bl.ocks.org/syntagmatic"
519 | }, {
520 | "name" : "Tom Shanley",
521 | "url" : "https://bl.ocks.org/tomshanley"
522 | }, {
523 | "name" : "Vasco Asturiano",
524 | "url" : "https://bl.ocks.org/vasturiano"
525 | }, {
526 | "name" : "Noah Veltman",
527 | "url" : "https://bl.ocks.org/veltman"
528 | }, {
529 | "name" : "Zan Armstrong",
530 | "url" : "https://bl.ocks.org/zanarmstrong"
531 | } ]
532 | } ]
533 |
--------------------------------------------------------------------------------
/database/front-end-development/Ember.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Examples",
3 | "items" : [ {
4 | "name" : "TodoMVC",
5 | "url" : "http://todomvc.com/examples/emberjs/"
6 | }, {
7 | "name" : "Vine",
8 | "url" : "https://vine.co/"
9 | }, {
10 | "name" : "Travis CI",
11 | "url" : "https://travis-ci.org/"
12 | }, {
13 | "name" : "Twitch.tv",
14 | "url" : "http://www.twitch.tv/directory"
15 | }, {
16 | "name" : "Discourse",
17 | "url" : "http://try.discourse.org/"
18 | }, {
19 | "name" : "Fnd.io",
20 | "url" : "https://fnd.io/"
21 | }, {
22 | "name" : "Built with Ember",
23 | "url" : "http://builtwithember.io/"
24 | } ]
25 | }, {
26 | "category" : "Documentation",
27 | "items" : [ {
28 | "name" : "Ember Guides",
29 | "url" : "http://emberjs.com/guides/"
30 | }, {
31 | "name" : "Ember Cookbook",
32 | "url" : "http://emberjs.com/guides/cookbook/"
33 | }, {
34 | "name" : "Ember API",
35 | "url" : "http://emberjs.com/api/"
36 | }, {
37 | "name" : "Ember Data API",
38 | "url" : "http://emberjs.com/api/data/"
39 | } ]
40 | }, {
41 | "category" : "Tools",
42 | "items" : [ {
43 | "name" : "Ember-cli",
44 | "url" : "http://ember-cli.com/"
45 | }, {
46 | "name" : "Ember Inspector",
47 | "url" : "https://github.com/emberjs/ember-inspector"
48 | }, {
49 | "name" : "gulp-ember-handlebars",
50 | "url" : "https://github.com/fuseelements/gulp-ember-handlebars"
51 | }, {
52 | "name" : "Ember Data Sails Adapter",
53 | "url" : "https://github.com/bmac/ember-data-sails-adapter"
54 | }, {
55 | "name" : "Ember Data WordPress Adapter",
56 | "url" : "https://github.com/HeyHumanAgency/Ember-Data-WordPress"
57 | }, {
58 | "name" : "Ember Gist",
59 | "url" : "http://ember-gist.joostdvrs.com/"
60 | }, {
61 | "name" : "Ember Twiddle",
62 | "url" : "https://ember-twiddle.com/"
63 | }, {
64 | "name" : "Ember Perf",
65 | "url" : "https://github.com/mike-north/ember-perf"
66 | } ]
67 | }, {
68 | "category" : "Tutorials",
69 | "items" : [ {
70 | "name" : "Discover Ember 2",
71 | "url" : "https://www.ludu.co/course/ember"
72 | }, {
73 | "name" : "Ember.js Tutorial",
74 | "url" : "http://yoember.com"
75 | }, {
76 | "name" : "Getting into Ember.js",
77 | "url" : "http://code.tutsplus.com/tutorials/getting-into-emberjs--net-30709"
78 | }, {
79 | "name" : "Ember Components: A Deep Dive",
80 | "url" : "http://code.tutsplus.com/tutorials/ember-components-a-deep-dive--net-35551"
81 | }, {
82 | "name" : "Getting Started with Ember.js using Ember CLI",
83 | "url" : "http://thetechcofounder.com/getting-started-with-ember-js-using-ember-cli/"
84 | }, {
85 | "name" : "Ember runloop handbook",
86 | "url" : "https://github.com/eoinkelly/ember-runloop-handbook"
87 | }, {
88 | "description" : "Developing an Ember front-end alongside a JSON API",
89 | "name" : "Ember with Phoenix (AKA The PEEP Stack)",
90 | "url" : "https://medium.com/peep-stack"
91 | } ]
92 | }, {
93 | "category" : "Screencasts",
94 | "items" : [ {
95 | "name" : "EmberCasts",
96 | "url" : "http://www.embercasts.com/"
97 | }, {
98 | "name" : "EmberWatch",
99 | "url" : "http://emberwatch.com/screencasts.html"
100 | }, {
101 | "name" : "Ember 101",
102 | "url" : "http://ember101.com/"
103 | }, {
104 | "name" : "Ember Screencasts",
105 | "url" : "https://www.emberscreencasts.com/"
106 | } ]
107 | }, {
108 | "category" : "Talks",
109 | "items" : [ {
110 | "name" : "EmberConf 2016",
111 | "url" : "https://www.youtube.com/playlist?list=PL4eq2DPpyBblc8aQAd516-jGMdAhEeUiW"
112 | }, {
113 | "name" : "EmberConf 2015",
114 | "url" : "https://www.youtube.com/playlist?list=PLE7tQUdRKcyacwiUPs0CjPYt6tJub4xXU"
115 | }, {
116 | "name" : "EmberConf 2014",
117 | "url" : "https://www.youtube.com/playlist?list=PLE7tQUdRKcyaOyfBnAndJxQ9PNVmKva0d"
118 | }, {
119 | "name" : "Wicked Good Ember",
120 | "url" : "https://www.youtube.com/channel/UCwFd5yPBeWsbZHDWc-3KhjA"
121 | }, {
122 | "name" : "Moving from Angular to Ember",
123 | "url" : "https://www.youtube.com/watch?v=EFmgLyR-Svo"
124 | } ]
125 | }, {
126 | "category" : "Books",
127 | "items" : [ {
128 | "name" : "ember-cli 101",
129 | "url" : "https://leanpub.com/ember-cli-101"
130 | }, {
131 | "name" : "Ember.js in Action",
132 | "url" : "http://manning.com/skeie/"
133 | } ]
134 | }, {
135 | "category" : "News",
136 | "items" : [ {
137 | "name" : "Official Ember blog",
138 | "url" : "http://emberjs.com/blog/"
139 | }, {
140 | "name" : "EmberFlare",
141 | "url" : "https://emberflare.com"
142 | }, {
143 | "description" : " Weekly email newsletter",
144 | "name" : "Ember Weekly",
145 | "url" : "http://emberweekly.com/"
146 | } ]
147 | }, {
148 | "category" : "Community",
149 | "items" : [ {
150 | "name" : "StackOverflow",
151 | "url" : "http://stackoverflow.com/questions/tagged/ember.js"
152 | }, {
153 | "name" : "Forum",
154 | "url" : "http://discuss.emberjs.com/"
155 | }, {
156 | "name" : "GitHub issues",
157 | "url" : "https://github.com/emberjs/ember.js/issues"
158 | }, {
159 | "name" : "Reddit",
160 | "url" : "https://www.reddit.com/r/emberjs/"
161 | } ]
162 | }, {
163 | "category" : "Twitter",
164 | "items" : [ {
165 | "name" : "Ember Talk",
166 | "url" : "https://twitter.com/emberjstalk"
167 | }, {
168 | "name" : "Ember Watch",
169 | "url" : "https://twitter.com/EmberWatch"
170 | }, {
171 | "name" : "EmberSherpa",
172 | "url" : "https://twitter.com/EmberSherpa"
173 | }, {
174 | "name" : "Tom Dale",
175 | "url" : "https://twitter.com/tomdale"
176 | }, {
177 | "name" : "Erik Bryn",
178 | "url" : "https://twitter.com/ebryn"
179 | }, {
180 | "name" : "Trek Glowacki",
181 | "url" : "https://twitter.com/trek"
182 | }, {
183 | "name" : "Alex Matchneer",
184 | "url" : "https://twitter.com/machty"
185 | }, {
186 | "name" : "Robin Ward",
187 | "url" : "https://twitter.com/eviltrout"
188 | }, {
189 | "name" : "Stefan Penner",
190 | "url" : "https://twitter.com/stefanpenner"
191 | }, {
192 | "name" : "Jo Liss",
193 | "url" : "https://twitter.com/jo_liss"
194 | }, {
195 | "name" : "Brian Cardarella",
196 | "url" : "https://twitter.com/bcardarella"
197 | }, {
198 | "name" : "Alex Navasardyan",
199 | "url" : "https://twitter.com/twokul"
200 | }, {
201 | "name" : "Adolfo Builes",
202 | "url" : "https://twitter.com/abuiles"
203 | }, {
204 | "name" : "mixonic",
205 | "url" : "https://twitter.com/mixonic"
206 | }, {
207 | "name" : "alexspeller",
208 | "url" : "https://twitter.com/alexspeller"
209 | }, {
210 | "name" : "Jamie White",
211 | "url" : "https://twitter.com/jgwhite"
212 | }, {
213 | "name" : "Gavin Joyce",
214 | "url" : "https://twitter.com/gavinjoyce"
215 | } ]
216 | }, {
217 | "category" : "Ember CLI Addons",
218 | "items" : [ {
219 | "name" : "Ember Observer",
220 | "url" : "https://emberobserver.com"
221 | } ]
222 | }, {
223 | "category" : "UI Components",
224 | "items" : [ {
225 | "name" : "ember-cli-flash",
226 | "url" : "https://github.com/poteto/ember-cli-flash"
227 | }, {
228 | "name" : "ember-modal-dialog",
229 | "url" : "https://github.com/yapplabs/ember-modal-dialog"
230 | }, {
231 | "name" : "ui-bootstrap",
232 | "url" : "https://www.npmjs.com/package/ui-bootstrap"
233 | }, {
234 | "name" : "ui-button",
235 | "url" : "https://www.npmjs.com/package/ui-button"
236 | }, {
237 | "name" : "ui-datepicker",
238 | "url" : "https://www.npmjs.com/package/ui-datepicker"
239 | }, {
240 | "name" : "ui-icon",
241 | "url" : "https://ui-icon.firebaseapp.com/"
242 | }, {
243 | "name" : "ui-image",
244 | "url" : "https://ui-image.firebaseapp.com/"
245 | }, {
246 | "name" : "ui-input",
247 | "url" : "https://ui-input.firebaseapp.com/"
248 | }, {
249 | "name" : "Ember-AnyChart",
250 | "url" : "https://github.com/AnyChart/AnyChart-Ember"
251 | } ]
252 | }, {
253 | "category" : "UI Helpers",
254 | "items" : [ {
255 | "name" : "ember-cli-stylist",
256 | "url" : "https://www.npmjs.com/package/ember-cli-stylist"
257 | }, {
258 | "name" : "ember-i18n",
259 | "url" : "https://www.npmjs.com/package/ember-i18n"
260 | }, {
261 | "name" : "ember-tether",
262 | "url" : "https://github.com/yapplabs/ember-tether"
263 | }, {
264 | "name" : "ember-wormhole",
265 | "url" : "https://github.com/yapplabs/ember-wormhole"
266 | } ]
267 | }, {
268 | "category" : "Testing",
269 | "items" : [ {
270 | "name" : "ember-cli-mirage",
271 | "url" : "http://www.ember-cli-mirage.com/"
272 | }, {
273 | "name" : "JSON API",
274 | "url" : "http://jsonapi.org/"
275 | } ]
276 | }, {
277 | "category" : "Model Enhancements",
278 | "items" : [ {
279 | "name" : "ember-autosave",
280 | "url" : "https://www.npmjs.com/package/ember-autosave"
281 | } ]
282 | }, {
283 | "category" : "Build Enhancements",
284 | "items" : [ {
285 | "name" : "ember-cli-autoprefixer",
286 | "url" : "https://github.com/kimroen/ember-cli-autoprefixer"
287 | } ]
288 | } ]
289 |
--------------------------------------------------------------------------------
/database/front-end-development/Ionic.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Official Resources",
3 | "items" : [ {
4 | "name" : "Site",
5 | "url" : "http://ionicframework.com/"
6 | }, {
7 | "name" : "Blog",
8 | "url" : "http://blog.ionic.io/"
9 | }, {
10 | "name" : "Documentation",
11 | "url" : "http://ionicframework.com/docs/v2/"
12 | }, {
13 | "name" : "Getting Started Guide",
14 | "url" : "http://ionicframework.com/docs/v2/getting-started/"
15 | }, {
16 | "name" : "Ionic Native",
17 | "url" : "https://github.com/driftyco/ionic-native/"
18 | }, {
19 | "name" : "Community Forum",
20 | "url" : "http://forum.ionicframework.com/"
21 | }, {
22 | "name" : "Ionic IRC",
23 | "url" : "http://webchat.freenode.net/?randomnick=1&channels=%23ionic&uio=d4"
24 | }, {
25 | "name" : "Ionic Youtube Channel",
26 | "url" : "https://www.youtube.com/channel/UChYheBnVeCfhCmqZfCUdJQw"
27 | }, {
28 | "name" : "Showcase",
29 | "url" : "http://showcase.ionicframework.com/"
30 | }, {
31 | "name" : "GitHub Repo",
32 | "url" : "https://github.com/driftyco/ionic/"
33 | } ]
34 | }, {
35 | "category" : "Ionic Fundamentals",
36 | "items" : [ {
37 | "name" : "Beginners Guide to Getting Started with Ionic",
38 | "url" : "http://www.joshmorony.com/beginners-guide-to-getting-started-with-ionic-2/"
39 | }, {
40 | "name" : "Ionic First Look Series: Your First Ionic App Explained",
41 | "url" : "http://www.joshmorony.com/ionic-2-first-look-series-your-first-ionic-2-app-explained/"
42 | }, {
43 | "name" : "How to Convert an Ionic 1 Application to Ionic",
44 | "url" : "http://www.joshmorony.com/how-to-convert-an-ionic-1-application-to-ionic-2/"
45 | }, {
46 | "name" : "A Simple Guide to Navigation in Ionic",
47 | "url" : "http://www.joshmorony.com/a-simple-guide-to-navigation-in-ionic-2/"
48 | }, {
49 | "name" : "10 Minutes with Ionic: Adding Pages and Navigation",
50 | "url" : "http://blog.ionic.io/10-minutes-with-ionic-2-adding-pages-and-navigation/"
51 | }, {
52 | "name" : "10 Minutes with Ionic: Calling an API",
53 | "url" : "http://blog.ionic.io/10-minutes-with-ionic-2-calling-an-api/"
54 | }, {
55 | "name" : "How To Update Your Application Project and CLI",
56 | "url" : "http://www.gajotres.net/ionic-2-how-to-update-your-application-project-and-cli/"
57 | }, {
58 | "name" : "How to Create a Data Model in Ionic",
59 | "url" : "http://www.joshmorony.com/how-to-create-a-data-model-in-ionic-2/"
60 | }, {
61 | "name" : "Ionic and External Libraries",
62 | "url" : "http://mhartington.io/post/ionic2-external-libraries/"
63 | }, {
64 | "name" : "Understanding Zones and Change Detection in Ionic & Angular 2",
65 | "url" : "http://www.joshmorony.com/understanding-zones-and-change-detection-in-ionic-2-angular-2/"
66 | }, {
67 | "name" : "Understanding Ionic: Pipe",
68 | "url" : "http://mcgivery.com/understanding-ionic-2-pipe/"
69 | }, {
70 | "name" : "How to Manipulate Data in Ionic: Part 1",
71 | "url" : "http://www.joshmorony.com/how-to-manipulate-data-in-ionic-2-part-1/"
72 | }, {
73 | "name" : "How to Manipulate Data in Ionic: Part 2",
74 | "url" : "http://www.joshmorony.com/how-to-manipulate-data-in-ionic-2-part-2/"
75 | }, {
76 | "name" : "Filtering, Mapping, and Reducing Arrays in Ionic",
77 | "url" : "https://www.youtube.com/watch?v=A-4CLa05tp0"
78 | } ]
79 | }, {
80 | "category" : "Theming",
81 | "items" : [ {
82 | "name" : "A Guide to Styling an Ionic Application",
83 | "url" : "http://www.joshmorony.com/a-guide-to-styling-an-ionic-2-application/"
84 | }, {
85 | "name" : "Best practice when adding FontAwesome to an ionic2 app",
86 | "url" : "http://luiscabrera.site/tech/2017/01/09/fontawesome-in-ionic2.html"
87 | }, {
88 | "name" : "A List of Common CSS Utility Attributes in Ionic",
89 | "url" : "http://www.joshmorony.com/a-list-of-common-css-utility-attributes-in-ionic-2/"
90 | } ]
91 | }, {
92 | "category" : "Components",
93 | "items" : [ {
94 | "name" : "How to Create a Sliding Delete Button for Lists",
95 | "url" : "http://www.joshmorony.com/ionic-2-how-to-create-a-sliding-delete-button-for-lists/"
96 | }, {
97 | "name" : "Creating a Sliding Introduction Component in Ionic",
98 | "url" : "http://www.joshmorony.com/creating-a-sliding-introduction-component-in-ionic-2/"
99 | }, {
100 | "name" : "How to Create a Custom Loading Component in Ionic",
101 | "url" : "http://www.joshmorony.com/how-to-create-a-custom-loading-component-in-ionic-2/"
102 | }, {
103 | "name" : "Build a Simple Progress Bar Component in Ionic",
104 | "url" : "http://www.joshmorony.com/build-a-simple-progress-bar-component-in-ionic-2/"
105 | }, {
106 | "name" : "Create a News Feed with 360-Degree Photo Viewing in Ionic",
107 | "url" : "http://www.joshmorony.com/create-a-news-feed-with-360-degree-photo-viewing-in-ionic-2/"
108 | }, {
109 | "name" : "Build a Tap to Reveal Component in Ionic",
110 | "url" : "https://www.joshmorony.com/build-a-tap-to-reveal-component-in-ionic-2/"
111 | } ]
112 | }, {
113 | "category" : "Authentication",
114 | "items" : [ {
115 | "name" : "Add Touch ID Authentication To An Ionic Mobile App",
116 | "url" : "https://www.thepolyglotdeveloper.com/2016/03/add-touch-id-authentication-ionic-2-mobile-app/"
117 | }, {
118 | "name" : "Successful OAuth Social Login with Firebase",
119 | "url" : "http://www.gajotres.net/ionic-2-succesfull-oauth-social-login-with-firebase/"
120 | }, {
121 | "name" : "Using An Oauth 2.0 Service Within An Ionic Mobile App",
122 | "url" : "https://www.thepolyglotdeveloper.com/2016/01/using-an-oauth-2-0-service-within-an-ionic-2-mobile-app/"
123 | }, {
124 | "name" : "Ionic and Auth0",
125 | "url" : "http://blog.ionic.io/ionic-2-and-auth0/"
126 | }, {
127 | "name" : "Handling a Simple User Authorization",
128 | "url" : "http://www.gajotres.net/ionic-2-handling-a-simple-user-authorization/"
129 | }, {
130 | "name" : "Authenticate Ionic with WordPress",
131 | "url" : "https://auth0.com/authenticate/ionic2/wordpress"
132 | } ]
133 | }, {
134 | "category" : "Unit Testing",
135 | "items" : [ {
136 | "name" : "Ionic Unit Testing",
137 | "url" : "http://lathonez.github.io/2017/ionic-2-unit-testing/"
138 | }, {
139 | "name" : "How to Unit Test an Ionic Application",
140 | "url" : "http://www.joshmorony.com/how-to-unit-test-an-ionic-2-application/"
141 | }, {
142 | "name" : "Test Driven Development in Ionic: An Introduction to TDD",
143 | "url" : "https://www.joshmorony.com/test-driven-development-in-ionic-2-an-introduction-to-tdd/"
144 | } ]
145 | }, {
146 | "category" : "Ionic Native / Cordova Plugins",
147 | "items" : [ {
148 | "name" : "Using Cordova Plugins in Ionic with Ionic Native",
149 | "url" : "http://www.joshmorony.com/using-cordova-plugins-in-ionic-2-with-ionic-native/"
150 | }, {
151 | "name" : "How to Work With Cordova Plugins",
152 | "url" : "http://www.gajotres.net/ionic-2-how-to-use-cordova-plugins/"
153 | }, {
154 | "name" : "10 Minutes with Ionic: Using the Camera with Ionic Native",
155 | "url" : "http://blog.ionic.io/10-minutes-with-ionic-2-using-the-camera-with-ionic-native/"
156 | }, {
157 | "name" : "How to Use Google Maps & Geolocation ",
158 | "url" : "http://www.joshmorony.com/ionic-2-how-to-use-google-maps-geolocation-video-tutorial/"
159 | }, {
160 | "name" : "Determine Network Availability",
161 | "url" : "https://www.thepolyglotdeveloper.com/2016/01/determine-network-availability-in-an-ionic-2-mobile-app/"
162 | }, {
163 | "name" : "Monetize With Google Admob In An Ionic Mobile App",
164 | "url" : "https://www.thepolyglotdeveloper.com/2016/02/monetize-google-admob-ionic-2-mobile-app/"
165 | }, {
166 | "name" : "Show Native Toast Notifications In An Ionic Mobile App",
167 | "url" : "https://www.thepolyglotdeveloper.com/2016/01/show-native-toast-notifications-in-an-ionic-2-mobile-app/"
168 | }, {
169 | "name" : "Having Fun With Cordova Geolocation Plugin",
170 | "url" : "http://www.gajotres.net/ionic-2-having-fun-with-cordova-geolocation-plugin/"
171 | }, {
172 | "name" : "Use SQLite In Ionic Instead Of Local Storage",
173 | "url" : "https://www.thepolyglotdeveloper.com/2015/12/use-sqlite-in-ionic-2-instead-of-local-storage/"
174 | }, {
175 | "name" : "Launch Websites With Ionic Using The InAppBrowser",
176 | "url" : "https://www.thepolyglotdeveloper.com/2016/01/launch-websites-with-ionic-2-using-the-inappbrowser/"
177 | }, {
178 | "name" : "Add Barcode Scanning Functionality To Your Ionic App",
179 | "url" : "https://www.thepolyglotdeveloper.com/2016/02/add-barcode-scanning-functionality-to-your-ionic-2-app/"
180 | }, {
181 | "name" : "Use Google Analytics In An Ionic Android And iOS App",
182 | "url" : "https://www.thepolyglotdeveloper.com/2016/03/use-google-analytics-in-an-ionic-2-android-and-ios-app/"
183 | }, {
184 | "name" : "Share Things On Social Media Via An Ionic Mobile App",
185 | "url" : "https://www.thepolyglotdeveloper.com/2016/02/share-things-on-social-media-via-an-ionic-2-mobile-app/"
186 | }, {
187 | "name" : "How To Use PouchDB + SQLite For Local Storage In Ionic",
188 | "url" : "http://gonehybrid.com/how-to-use-pouchdb-sqlite-for-local-storage-in-ionic-2/"
189 | }, {
190 | "name" : "Adding Background Geolocation to an Ionic Application",
191 | "url" : "http://www.joshmorony.com/adding-background-geolocation-to-an-ionic-2-application/"
192 | }, {
193 | "name" : "Getting Familiar with Local Notifications in Ionic",
194 | "url" : "http://www.joshmorony.com/getting-familiar-with-local-notifications-in-ionic-2/"
195 | }, {
196 | "name" : "Create a Nearby Places List with Google Maps in Ionic – Part 1",
197 | "url" : "http://www.joshmorony.com/create-a-nearby-places-list-with-google-maps-in-ionic-2-part-1/"
198 | }, {
199 | "name" : "Create a Nearby Places List with Google Maps in Ionic – Part 2",
200 | "url" : "http://www.joshmorony.com/create-a-nearby-places-list-with-google-maps-in-ionic-2-part-2/"
201 | } ]
202 | }, {
203 | "category" : "Backend as a Service",
204 | "items" : [ {
205 | "name" : "10 Minutes with Ionic: Calling an API",
206 | "url" : "http://blog.ionic.io/10-minutes-with-ionic-2-calling-an-api/"
207 | }, {
208 | "name" : "Using Http to Fetch Remote Data from a Server in Ionic",
209 | "url" : "http://www.joshmorony.com/using-http-to-fetch-remote-data-from-a-server-in-ionic-2/"
210 | }, {
211 | "name" : "Making REST HTTP Requests Like a Pro",
212 | "url" : "http://www.gajotres.net/ionic-2-making-rest-http-requests-like-a-pro/"
213 | }, {
214 | "name" : "Posting data from Ionic app to a PHP server",
215 | "url" : "http://www.nikola-breznjak.com/blog/ionic2/posting-data-from-ionic-2-app/"
216 | }, {
217 | "name" : "Make HTTP Requests In An Ionic Android And iOS App",
218 | "url" : "https://www.thepolyglotdeveloper.com/2016/01/make-http-requests-in-an-ionic-2-android-and-ios-app/"
219 | }, {
220 | "name" : "Integrating Firebase with AngularFire2 into AngularJS & Ionic2",
221 | "url" : "http://www.clearlyinnovative.com/integrating-firebase-with-angularfire2-into-angularjs-ionic2"
222 | } ]
223 | }, {
224 | "category" : "i18n & l10n",
225 | "items" : [ {
226 | "name" : "Internationalize and Localize Your App With Angular 2",
227 | "url" : "http://www.gajotres.net/ionic-2-internationalize-and-localize-your-app-with-angular-2/"
228 | } ]
229 | }, {
230 | "category" : "Tools",
231 | "items" : [ {
232 | "name" : "Ionic2-vscode",
233 | "url" : "https://marketplace.visualstudio.com/items?itemName=jgw9617.ionic2-vscode"
234 | }, {
235 | "name" : "Vim-ionic2",
236 | "url" : "https://github.com/akz92/vim-ionic2"
237 | } ]
238 | }, {
239 | "category" : "Video Tutorials",
240 | "items" : [ {
241 | "name" : "Ionic Quickstart",
242 | "url" : "https://www.udemy.com/ionic-2-quickstart/"
243 | }, {
244 | "name" : "Build a Todo App from Scratch with Ionic",
245 | "url" : "http://www.joshmorony.com/build-a-todo-app-from-scratch-with-ionic-2-video-tutorial/"
246 | }, {
247 | "name" : "Ionic: How to Use Google Maps & Geolocation",
248 | "url" : "http://www.joshmorony.com/ionic-2-how-to-use-google-maps-geolocation-video-tutorial/"
249 | }, {
250 | "name" : "Ionic in One Hour",
251 | "url" : "http://courses.devdactic.com/courses/ionic-2-in-one-hour?product_id=104238"
252 | }, {
253 | "name" : "Build a Custom Flash Card Component in Ionic",
254 | "url" : "https://www.youtube.com/watch?v=BKFQKywl_GM"
255 | }, {
256 | "name" : "Hacking CSS in Ionic",
257 | "url" : "https://www.youtube.com/watch?v=sXFmkdhOEVc"
258 | }, {
259 | "name" : "Learn Ionic 3 From Scratch",
260 | "url" : "https://www.youtube.com/watch?v=JcEGTektejA&list=PLYxzS__5yYQng-XnJhB21Jc7NW1OIaqct"
261 | } ]
262 | }, {
263 | "category" : "Books",
264 | "items" : [ {
265 | "name" : "Building Mobile Apps with Ionic",
266 | "url" : "https://www.joshmorony.com/building-mobile-apps-with-ionic-2/"
267 | }, {
268 | "name" : "Ionic Blueprints",
269 | "url" : "https://www.packtpub.com/web-development/ionic-2-blueprints"
270 | }, {
271 | "name" : "Hybrid Mobile Development with Ionic",
272 | "url" : "https://www.packtpub.com/application-development/hybrid-mobile-development-ionic"
273 | } ]
274 | }, {
275 | "category" : "Open Source Projects",
276 | "items" : [ {
277 | "name" : "Ionic Conference App",
278 | "url" : "https://github.com/driftyco/ionic-conference-app"
279 | }, {
280 | "name" : "IonicRealty",
281 | "url" : "https://github.com/ccoenraets/ionic2-realty"
282 | }, {
283 | "name" : "Ionic Firebase Chat App",
284 | "url" : "https://github.com/ionic2blueprints/firebase-chat"
285 | }, {
286 | "name" : "Ionic Ecommerce App",
287 | "url" : "https://github.com/ionic2blueprints/ionic2-marketcloud"
288 | }, {
289 | "name" : "Ionic Conference App based on Lanyrd API",
290 | "url" : "https://github.com/ionic2blueprints/conference-app"
291 | }, {
292 | "name" : "Ionic Stock Tracking App",
293 | "url" : "https://github.com/ionic2blueprints/ionic2-stockmarket"
294 | }, {
295 | "name" : "Ionic Wordpress Client",
296 | "url" : "https://github.com/ionic2blueprints/ionic2-wp-client"
297 | }, {
298 | "name" : "Ionic Media Player",
299 | "url" : "https://github.com/ionic2blueprints/media-player"
300 | }, {
301 | "name" : "Ionic Social App",
302 | "url" : "https://github.com/ionic2blueprints/social-app"
303 | }, {
304 | "name" : "Ionic Push Notification",
305 | "url" : "https://github.com/aggarwalankush/ionic2-push-base"
306 | }, {
307 | "name" : "Ionic Weather app",
308 | "url" : "https://github.com/aggarwalankush/ionic2-mosum"
309 | }, {
310 | "name" : "Ionic Reddit Reader",
311 | "url" : "https://github.com/smartapant/ionic2-reddit-reader"
312 | }, {
313 | "name" : "Ionic Advanced Components",
314 | "url" : "https://github.com/yannbf/ionic2-components"
315 | }, {
316 | "description" : " Azure Computer Vision API",
317 | "name" : "Ionic aiEyes",
318 | "url" : "https://github.com/brenopolanski/aiEyes"
319 | } ]
320 | } ]
321 |
--------------------------------------------------------------------------------
/database/front-end-development/JQuery.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Resources",
3 | "items" : [ {
4 | "name" : "API documentation",
5 | "url" : "http://api.jquery.com/"
6 | }, {
7 | "name" : "Code School",
8 | "url" : "https://www.codeschool.com/courses/try-jquery"
9 | }, {
10 | "name" : "Codecademy jQuery track",
11 | "url" : "https://www.codecademy.com/en/tracks/jquery"
12 | }, {
13 | "name" : "Learning jQuery",
14 | "url" : "http://www.learningjquery.com/"
15 | }, {
16 | "name" : "Style guides",
17 | "url" : "https://contribute.jquery.org/style-guide/"
18 | }, {
19 | "name" : "Tuts+",
20 | "url" : "https://code.tutsplus.com/categories/jquery"
21 | }, {
22 | "name" : "jQuery guide for teams",
23 | "url" : "https://github.com/voorhoede/jquery-style-guide"
24 | } ]
25 | }, {
26 | "category" : "Tutorials",
27 | "items" : [ {
28 | "name" : "jQuery patterns",
29 | "url" : "https://github.com/jquery-boilerplate/jquery-patterns"
30 | }, {
31 | "name" : "Learning jQuery Design Patterns",
32 | "url" : "https://addyosmani.com/resources/essentialjsdesignpatterns/book/#jquerypluginpatterns"
33 | }, {
34 | "name" : "Learn jQuery",
35 | "url" : "http://learn.jquery.com/"
36 | }, {
37 | "name" : "Snoopcode",
38 | "url" : "http://www.snoopcode.com/jquery/"
39 | }, {
40 | "name" : "Try jQuery",
41 | "url" : "http://try.jquery.com/"
42 | }, {
43 | "name" : "Extending jQuery",
44 | "url" : "https://j11y.io/javascript/extending-jquerys-selector-capabilities/"
45 | } ]
46 | }, {
47 | "category" : "Books"
48 | }, {
49 | "category" : "Free Books",
50 | "items" : [ {
51 | "name" : "JavaScript plus a dash of JQuery",
52 | "url" : "http://nicholasjohnson.com/javascript-book/"
53 | }, {
54 | "name" : "jQuery Succinctly, Syncfusion",
55 | "url" : "https://www.syncfusion.com/resources/techportal/ebooks/jquery"
56 | }, {
57 | "name" : "jQuery fundamentals",
58 | "url" : "https://github.com/bocoup/jqfundamentals.com"
59 | } ]
60 | }, {
61 | "category" : "Paid Books",
62 | "items" : [ {
63 | "name" : "jQuery in Action, Third Edition",
64 | "url" : "https://www.manning.com/books/jquery-in-action-third-edition"
65 | }, {
66 | "name" : "jQuery: Novice to Ninja: New Kicks And Tricks",
67 | "url" : "https://www.sitepoint.com/premium/books/jquery-novice-to-ninja-new-kicks-and-tricks"
68 | }, {
69 | "description" : " Fourth Edition",
70 | "name" : "Learning jQuery",
71 | "url" : "https://www.packtpub.com/web-development/learning-jquery-fourth-edition"
72 | } ]
73 | }, {
74 | "category" : "Blogs",
75 | "items" : [ {
76 | "name" : "jQuery Blog",
77 | "url" : "http://blog.jquery.com/"
78 | }, {
79 | "name" : "jQuery UI Blog",
80 | "url" : "http://blog.jqueryui.com/"
81 | }, {
82 | "name" : "Sitepoint",
83 | "url" : "https://www.sitepoint.com/javascript/jquery/"
84 | }, {
85 | "name" : "Smashing Magazine",
86 | "url" : "https://www.smashingmagazine.com/tag/jquery/"
87 | } ]
88 | }, {
89 | "category" : "Miscellaneous Resources",
90 | "items" : [ {
91 | "name" : "jQuery Foundation",
92 | "url" : "https://jquery.org/"
93 | }, {
94 | "name" : "jQuery Source Viewer",
95 | "url" : "https://j11y.io/jquery/"
96 | }, {
97 | "name" : "Alternative jQuery Documentation Browser",
98 | "url" : "http://jqapi.com/"
99 | }, {
100 | "description" : " Helps you select JavaScript framework. Same Todo application created in multiple popular JavaScript MV* frameworks including jQuery",
101 | "name" : "TodoMVC",
102 | "url" : "https://github.com/tastejs/todomvc"
103 | }, {
104 | "name" : "jQuery CheatSheet",
105 | "url" : "http://lab.abhinayrathore.com/jquery-cheatsheet/"
106 | } ]
107 | }, {
108 | "category" : "Plugins",
109 | "items" : [ {
110 | "description" : " Registry of jQuery plugins, previous one",
111 | "name" : "Plugins",
112 | "url" : "https://www.npmjs.com/browse/keyword/jquery-plugin"
113 | }, {
114 | "name" : "jQuery Rain",
115 | "url" : "http://www.jqueryrain.com/"
116 | }, {
117 | "name" : "jQuery Unheap",
118 | "url" : "http://www.unheap.com/"
119 | } ]
120 | }, {
121 | "category" : "Animation",
122 | "items" : [ {
123 | "name" : "Animsition",
124 | "url" : "https://github.com/blivesta/animsition/"
125 | }, {
126 | "name" : "fakeLoader.js",
127 | "url" : "https://github.com/joaopereirawd/fakeLoader.js"
128 | }, {
129 | "name" : "jQuery Transit",
130 | "url" : "https://github.com/rstacruz/jquery.transit"
131 | }, {
132 | "name" : "Material Design Preloader!s",
133 | "url" : "https://github.com/aarondo/Material-Preloader"
134 | }, {
135 | "name" : "Midnight",
136 | "url" : "https://github.com/Aerolab/midnight.js"
137 | }, {
138 | "name" : "Parallax.js",
139 | "url" : "https://github.com/pixelcog/parallax.js/"
140 | }, {
141 | "name" : "Scrollify",
142 | "url" : "https://github.com/lukehaas/Scrollify/"
143 | }, {
144 | "name" : "Waves",
145 | "url" : "https://github.com/fians/Waves"
146 | } ]
147 | }, {
148 | "category" : "Editors",
149 | "items" : [ {
150 | "name" : "Froala WYSIWYG HTML Editor",
151 | "url" : "https://github.com/froala/wysiwyg-editor"
152 | }, {
153 | "name" : "Hallo",
154 | "url" : "https://github.com/bergie/hallo"
155 | }, {
156 | "name" : "jQuery Notebook",
157 | "url" : "https://github.com/raphaelcruzeiro/jquery-notebook"
158 | }, {
159 | "name" : "jQuery TE",
160 | "url" : "http://jqueryte.com/"
161 | }, {
162 | "name" : "TinyMCE",
163 | "url" : "https://www.tinymce.com/"
164 | } ]
165 | }, {
166 | "category" : "Forms",
167 | "items" : [ {
168 | "name" : "Bootstrap Multiselect",
169 | "url" : "https://github.com/davidstutz/bootstrap-multiselect"
170 | }, {
171 | "name" : "File Upload",
172 | "url" : "https://github.com/blueimp/jQuery-File-Upload"
173 | }, {
174 | "name" : "Ideal Forms",
175 | "url" : "https://github.com/elclanrs/jq-idealforms"
176 | }, {
177 | "name" : "jQuery Form Plugin",
178 | "url" : "https://github.com/jquery-form/form"
179 | }, {
180 | "name" : "jquery-minicolors",
181 | "url" : "https://github.com/claviska/jquery-minicolors"
182 | }, {
183 | "name" : "Justified Gallery",
184 | "url" : "https://github.com/miromannino/Justified-Gallery"
185 | }, {
186 | "name" : "Labelauty",
187 | "url" : "https://github.com/fntneves/jquery-labelauty"
188 | }, {
189 | "name" : "Payform",
190 | "url" : "https://github.com/jondavidjohn/payform"
191 | }, {
192 | "name" : "Pickadate",
193 | "url" : "https://github.com/amsul/pickadate.js"
194 | }, {
195 | "name" : "Select2",
196 | "url" : "https://github.com/select2/select2"
197 | }, {
198 | "name" : "selectize.js",
199 | "url" : "https://github.com/selectize/selectize.js/"
200 | } ]
201 | }, {
202 | "category" : "Images, Maps and Charts",
203 | "items" : [ {
204 | "name" : "AnyChart-jQuery",
205 | "url" : "https://github.com/AnyChart/AnyChart-jQuery"
206 | }, {
207 | "name" : "Arbor",
208 | "url" : "https://github.com/samizdatco/arbor"
209 | }, {
210 | "name" : "Chart.js",
211 | "url" : "https://github.com/chartjs/Chart.js"
212 | }, {
213 | "name" : "Cropper",
214 | "url" : "https://github.com/fengyuanchen/cropper"
215 | }, {
216 | "name" : "Dense.js",
217 | "url" : "https://github.com/gocom/dense"
218 | }, {
219 | "name" : "Flot",
220 | "url" : "https://github.com/flot/flot"
221 | }, {
222 | "name" : "Gridder",
223 | "url" : "https://github.com/oriongunning/gridder"
224 | }, {
225 | "name" : "jquery.sparkline",
226 | "url" : "https://github.com/gwatts/jquery.sparkline"
227 | }, {
228 | "name" : "jQuery.eraser",
229 | "url" : "https://github.com/boblemarin/jQuery.eraser"
230 | }, {
231 | "name" : "jQuery Mapael",
232 | "url" : "https://github.com/neveldo/jQuery-Mapael"
233 | }, {
234 | "name" : "jQueryGantt",
235 | "url" : "https://github.com/robicch/jQueryGantt"
236 | }, {
237 | "name" : "Nivo Slider",
238 | "url" : "https://github.com/Codeinwp/Nivo-Slider-jQuery"
239 | }, {
240 | "name" : "Owl Carousel 2",
241 | "url" : "https://github.com/OwlCarousel2/OwlCarousel2"
242 | }, {
243 | "name" : "Peity",
244 | "url" : "https://github.com/benpickles/peity"
245 | }, {
246 | "name" : "Unite Gallery",
247 | "url" : "https://github.com/vvvmax/unitegallery/"
248 | }, {
249 | "name" : "Viewer",
250 | "url" : "https://github.com/fengyuanchen/viewer"
251 | }, {
252 | "name" : "JQuery-linechart",
253 | "url" : "https://github.com/kis/jquery-linechart"
254 | } ]
255 | }, {
256 | "category" : "Menus",
257 | "items" : [ {
258 | "name" : "jQuery contextMenu",
259 | "url" : "https://github.com/swisnl/jQuery-contextMenu"
260 | }, {
261 | "name" : "jPanelMenu",
262 | "url" : "https://github.com/acolangelo/jPanelMenu"
263 | }, {
264 | "name" : "jQuery-menu-aim",
265 | "url" : "https://github.com/kamens/jQuery-menu-aim"
266 | }, {
267 | "name" : "mmenu",
268 | "url" : "https://github.com/FrDH/jQuery.mmenu"
269 | }, {
270 | "name" : "Multi-level push menu",
271 | "url" : "https://github.com/adgsm/multi-level-push-menu"
272 | }, {
273 | "name" : "Slidebars",
274 | "url" : "https://github.com/adchsm/Slidebars"
275 | }, {
276 | "name" : "stickUp",
277 | "url" : "https://github.com/LiranCohen/stickUp"
278 | }, {
279 | "name" : "Superfish",
280 | "url" : "https://github.com/joeldbirch/superfish"
281 | }, {
282 | "name" : "Yamm",
283 | "url" : "https://github.com/geedmo/yamm3"
284 | } ]
285 | }, {
286 | "category" : "Modals and Popups",
287 | "items" : [ {
288 | "name" : "animatedModal.js",
289 | "url" : "https://github.com/joaopereirawd/animatedModal.js"
290 | }, {
291 | "name" : "Avgrund",
292 | "url" : "https://github.com/voronianski/jquery.avgrund.js"
293 | }, {
294 | "name" : "Bootstrap Modal",
295 | "url" : "https://github.com/jschr/bootstrap-modal"
296 | }, {
297 | "name" : "iziModal",
298 | "url" : "https://github.com/dolce/iziModal"
299 | }, {
300 | "name" : "jBox",
301 | "url" : "https://github.com/StephanWagner/jBox"
302 | }, {
303 | "name" : "jQuery Modal",
304 | "url" : "https://github.com/kylefox/jquery-modal"
305 | }, {
306 | "name" : "jQuery Popup Overlay",
307 | "url" : "https://github.com/vast-engineering/jquery-popup-overlay"
308 | }, {
309 | "name" : "Lightbox",
310 | "url" : "https://github.com/lokesh/lightbox2/"
311 | }, {
312 | "name" : "Magnific Popup",
313 | "url" : "https://github.com/dimsemenov/Magnific-Popup"
314 | }, {
315 | "name" : "SweetAlert",
316 | "url" : "https://github.com/t4t5/sweetalert"
317 | }, {
318 | "name" : "tipso",
319 | "url" : "https://github.com/object505/tipso"
320 | }, {
321 | "name" : "vex",
322 | "url" : "https://github.com/hubspot/vex"
323 | } ]
324 | }, {
325 | "category" : "Tables",
326 | "items" : [ {
327 | "name" : "Bootgrid",
328 | "url" : "https://github.com/rstaib/jquery-bootgrid"
329 | }, {
330 | "name" : "Bootstrap table",
331 | "url" : "http://bootstrap-table.wenzhixin.net.cn/"
332 | }, {
333 | "name" : "DataTables",
334 | "url" : "https://www.datatables.net/"
335 | }, {
336 | "name" : "FancyGrid",
337 | "url" : "https://fancygrid.com/"
338 | }, {
339 | "name" : "Filter Table",
340 | "url" : "https://github.com/sunnywalker/jQuery.FilterTable"
341 | }, {
342 | "name" : "FloatThead",
343 | "url" : "https://github.com/mkoryak/floatThead"
344 | }, {
345 | "name" : "FooTable",
346 | "url" : "https://github.com/fooplugins/FooTable/"
347 | }, {
348 | "name" : "Isotope",
349 | "url" : "https://github.com/metafizzy/isotope"
350 | }, {
351 | "name" : "HighchartTable",
352 | "url" : "https://github.com/highchartTable/jquery-highchartTable-plugin"
353 | }, {
354 | "name" : "jqGrid",
355 | "url" : "https://github.com/tonytomov/jqGrid"
356 | }, {
357 | "name" : "jQuery treetable",
358 | "url" : "https://github.com/ludo/jquery-treetable"
359 | }, {
360 | "name" : "jsGrid",
361 | "url" : "https://github.com/tabalinas/jsgrid"
362 | }, {
363 | "name" : "Stackable.js",
364 | "url" : "https://github.com/johnpolacek/stacktable.js/"
365 | }, {
366 | "name" : "Stupid Table Sort",
367 | "url" : "https://github.com/joequery/Stupid-Table-Plugin"
368 | }, {
369 | "name" : "tableExport.jquery.plugin",
370 | "url" : "https://github.com/hhurz/tableExport.jquery.plugin"
371 | } ]
372 | }, {
373 | "category" : "Time and Date",
374 | "items" : [ {
375 | "name" : "jQuery Timer Plugin",
376 | "url" : "https://github.com/walmik/timer.jquery"
377 | }, {
378 | "name" : "Timeago",
379 | "url" : "https://github.com/rmm5t/jquery-timeago"
380 | } ]
381 | }, {
382 | "category" : "Translations",
383 | "items" : [ {
384 | "description" : " Lightweight plugin for providing internationalization to JavaScript from .properties",
385 | "name" : "i18n properties",
386 | "url" : "https://github.com/jquery-i18n-properties/jquery-i18n-properties"
387 | }, {
388 | "name" : "jquery.i18n",
389 | "url" : "https://github.com/wikimedia/jquery.i18n"
390 | }, {
391 | "name" : "jquery.localize.js",
392 | "url" : "https://github.com/coderifous/jquery-localize"
393 | } ]
394 | }, {
395 | "category" : "Validation",
396 | "items" : [ {
397 | "name" : "FormValidation",
398 | "url" : "https://github.com/formvalidation/formvalidation"
399 | }, {
400 | "name" : "h5Validate",
401 | "url" : "https://github.com/ericelliott/h5Validate"
402 | }, {
403 | "name" : "jQuery Form Validator",
404 | "url" : "https://github.com/victorjonsson/jQuery-Form-Validator/"
405 | }, {
406 | "name" : "jquery-validation",
407 | "url" : "https://github.com/jquery-validation/jquery-validation"
408 | }, {
409 | "name" : "jQuery.validationEngine",
410 | "url" : "https://github.com/posabsolute/jQuery-Validation-Engine"
411 | } ]
412 | }, {
413 | "category" : "Miscellaneous Plugins",
414 | "items" : [ {
415 | "name" : "Boilerplate",
416 | "url" : "https://github.com/jquery-boilerplate/jquery-boilerplate"
417 | }, {
418 | "name" : "Interlink",
419 | "url" : "https://gist.github.com/Golpha/c5c7ae9b6ed11dc93ce6"
420 | }, {
421 | "name" : "Sisyphus",
422 | "url" : "https://github.com/simsalabim/sisyphus"
423 | }, {
424 | "name" : "Slugify",
425 | "url" : "https://github.com/pmcelhaney/jQuery-Slugify-Plugin"
426 | }, {
427 | "name" : "Readmore.js",
428 | "url" : "https://github.com/jedfoster/Readmore.js"
429 | }, {
430 | "name" : "Yahoo! Emoticons",
431 | "url" : "http://michael-designs.com/yahoo-emoticons-jquery-plugin/"
432 | }, {
433 | "name" : "autoNumberic",
434 | "url" : "https://github.com/autoNumeric/autoNumeric"
435 | } ]
436 | }, {
437 | "category" : "Mobile",
438 | "items" : [ {
439 | "name" : "jQuery mobile",
440 | "url" : "http://jquerymobile.com/"
441 | }, {
442 | "name" : "Interdimensional",
443 | "url" : "https://github.com/VodkaBears/Interdimensional"
444 | }, {
445 | "name" : "OhSnap!.js",
446 | "url" : "https://github.com/justindomingue/ohSnap"
447 | } ]
448 | }, {
449 | "category" : "UI",
450 | "items" : [ {
451 | "name" : "Dragula",
452 | "url" : "https://github.com/bevacqua/dragula"
453 | }, {
454 | "name" : "jQuery UI",
455 | "url" : "http://jqueryui.com/"
456 | }, {
457 | "name" : "jQuery Enhanced Splitter",
458 | "url" : "https://github.com/hiltonjanfield/jquery.enhsplitter"
459 | }, {
460 | "name" : "tabulous.js",
461 | "url" : "https://github.com/aarondo/tabulous.js"
462 | }, {
463 | "name" : "X-editable",
464 | "url" : "https://github.com/vitalets/x-editable"
465 | } ]
466 | }, {
467 | "category" : "Testing",
468 | "items" : [ {
469 | "name" : "Qunit",
470 | "url" : "http://qunitjs.com/"
471 | }, {
472 | "name" : "Mockjax",
473 | "url" : "https://github.com/jakerella/jquery-mockjax"
474 | } ]
475 | }, {
476 | "category" : "Server-side Integrations",
477 | "items" : [ {
478 | "name" : "Bower",
479 | "url" : "https://bower.io/"
480 | }, {
481 | "name" : "Cheerio",
482 | "url" : "https://github.com/cheeriojs/cheerio"
483 | }, {
484 | "name" : "PHP front end setup without Node",
485 | "url" : "https://www.sitepoint.com/look-ma-no-nodejs-a-php-front-end-workflow-without-node/"
486 | }, {
487 | "name" : "symfony-collection",
488 | "url" : "https://github.com/ninsuo/symfony-collection"
489 | }, {
490 | "name" : "django-static-jquery",
491 | "url" : "https://pypi.python.org/pypi/django-static-jquery/"
492 | }, {
493 | "name" : "jquery-rails",
494 | "url" : "https://github.com/rails/jquery-rails"
495 | }, {
496 | "name" : "jquery-ui-rails",
497 | "url" : "https://github.com/jquery-ui-rails/jquery-ui-rails"
498 | } ]
499 | }, {
500 | "category" : "Community",
501 | "items" : [ {
502 | "name" : "Forum",
503 | "url" : "https://forum.jquery.com/"
504 | }, {
505 | "name" : "Freenode",
506 | "url" : "http://irc.lc/freenode/jquery"
507 | }, {
508 | "name" : "Stack Overflow",
509 | "url" : "https://stackoverflow.com/tags/jquery"
510 | }, {
511 | "name" : "Facebook",
512 | "url" : "https://www.facebook.com/groups/jquerycode/"
513 | }, {
514 | "name" : "Linked.in",
515 | "url" : "https://www.linkedin.com/groups/100943"
516 | }, {
517 | "name" : "Reddit",
518 | "url" : "https://www.reddit.com/r/jquery"
519 | }, {
520 | "name" : "Google+",
521 | "url" : "https://plus.google.com/communities/106546344682622800231"
522 | }, {
523 | "name" : "Quora",
524 | "url" : "https://www.quora.com/jQuery"
525 | }, {
526 | "name" : "Meetup",
527 | "url" : "https://www.meetup.com/topics/jquery/"
528 | }, {
529 | "name" : "Twitter",
530 | "url" : "https://twitter.com/jquery"
531 | } ]
532 | } ]
533 |
--------------------------------------------------------------------------------
/database/front-end-development/Knockout.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Frameworks",
3 | "items" : [ {
4 | "name" : "Knockout",
5 | "url" : "https://github.com/knockout/knockout"
6 | }, {
7 | "name" : "Knockback",
8 | "url" : "https://github.com/kmalakoff/knockback"
9 | }, {
10 | "name" : "Durandal",
11 | "url" : "https://github.com/BlueSpire/Durandal/"
12 | }, {
13 | "name" : "Falconjs",
14 | "url" : "https://github.com/stoodder/falconjs"
15 | } ]
16 | }, {
17 | "category" : "Integrations",
18 | "items" : [ {
19 | "name" : "UI",
20 | "url" : "https://github.com/madcapnmckay/Knockout-UI"
21 | }, {
22 | "name" : "Kendo",
23 | "url" : "https://github.com/kendo-labs/knockout-kendo"
24 | }, {
25 | "name" : "Bootstrap",
26 | "url" : "https://github.com/billpull/knockout-bootstrap"
27 | }, {
28 | "name" : "ASP.NET MVC",
29 | "url" : "https://github.com/AndreyAkinshin/knockout-mvc"
30 | }, {
31 | "name" : "Rails",
32 | "url" : "https://github.com/dnagir/knockout-rails"
33 | }, {
34 | "name" : "Meteor",
35 | "url" : "https://github.com/steveluscher/knockout.meteor"
36 | } ]
37 | }, {
38 | "category" : "Plugins and libraries",
39 | "items" : [ {
40 | "name" : "Mapping",
41 | "url" : "https://github.com/SteveSanderson/knockout.mapping"
42 | }, {
43 | "name" : "Validation",
44 | "url" : "https://github.com/Knockout-Contrib/Knockout-Validation"
45 | }, {
46 | "name" : "Sortable",
47 | "url" : "https://github.com/rniemeyer/knockout-sortable"
48 | }, {
49 | "name" : "Grid",
50 | "url" : "https://github.com/Knockout-Contrib/KoGrid"
51 | }, {
52 | "name" : "External Template Engine",
53 | "url" : "https://github.com/ifandelse/Knockout.js-External-Template-Engine"
54 | }, {
55 | "name" : "Postbox",
56 | "url" : "https://github.com/rniemeyer/knockout-postbox"
57 | }, {
58 | "name" : "Deferred Updates",
59 | "url" : "https://github.com/mbest/knockout-deferred-updates"
60 | }, {
61 | "name" : "Delegated Events",
62 | "url" : "https://github.com/rniemeyer/knockout-delegatedEvents"
63 | }, {
64 | "name" : "Projections",
65 | "url" : "https://github.com/profiscience/ko-projections"
66 | }, {
67 | "name" : "Viewmodel",
68 | "url" : "https://github.com/coderenaissance/knockout.viewmodel"
69 | }, {
70 | "name" : "Observable Dictionary",
71 | "url" : "https://github.com/jamesfoster/knockout.observableDictionary"
72 | }, {
73 | "name" : "Model",
74 | "url" : "https://github.com/thelinuxlich/knockout.model"
75 | }, {
76 | "name" : "Namespaces",
77 | "url" : "https://github.com/hunterloftis/knockout.namespaces"
78 | }, {
79 | "name" : "Rest",
80 | "url" : "https://github.com/frapontillo/knockout-rest"
81 | }, {
82 | "name" : "Local Storage",
83 | "url" : "https://github.com/jimrhoskins/knockout.localStorage"
84 | }, {
85 | "name" : "Router",
86 | "url" : "https://github.com/profiscience/ko-component-router"
87 | } ]
88 | }, {
89 | "category" : "Custom Bindings",
90 | "items" : [ {
91 | "name" : "Punches",
92 | "url" : "https://github.com/mbest/knockout.punches"
93 | }, {
94 | "name" : "Switch Case",
95 | "url" : "https://github.com/mbest/knockout-switch-case"
96 | }, {
97 | "name" : "Repeat",
98 | "url" : "https://github.com/mbest/knockout-repeat"
99 | }, {
100 | "name" : "Table",
101 | "url" : "https://github.com/mbest/knockout-table"
102 | } ]
103 | }, {
104 | "category" : "Components",
105 | "items" : [ {
106 | "name" : "Cart",
107 | "url" : "https://github.com/robconery/knockout-cart"
108 | }, {
109 | "name" : "Testing",
110 | "url" : "https://github.com/profiscience/ko-component-tester"
111 | } ]
112 | }, {
113 | "category" : "Examples",
114 | "items" : [ {
115 | "name" : "WebSockets",
116 | "url" : "https://github.com/carlhoerberg/knockout-websocket-example"
117 | } ]
118 | } ]
119 |
--------------------------------------------------------------------------------
/database/front-end-development/Meteor.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Collections",
3 | "items" : [ {
4 | "name" : "node-simple-schema",
5 | "url" : "https://github.com/aldeed/node-simple-schema/"
6 | }, {
7 | "name" : "aldeed:collection2",
8 | "url" : "https://github.com/aldeed/meteor-collection2/"
9 | }, {
10 | "name" : "dburles:collection-helpers",
11 | "url" : "https://github.com/dburles/meteor-collection-helpers/"
12 | }, {
13 | "name" : "matb33:collection-hooks",
14 | "url" : "https://github.com/matb33/meteor-collection-hooks/"
15 | }, {
16 | "name" : "reywood:publish-composite",
17 | "url" : "https://github.com/englue/meteor-publish-composite"
18 | }, {
19 | "name" : "jagi:astronomy",
20 | "url" : "https://github.com/jagi/meteor-astronomy/"
21 | } ]
22 | }, {
23 | "category" : "REST",
24 | "items" : [ {
25 | "name" : "simple:rest",
26 | "url" : "https://github.com/stubailo/meteor-rest"
27 | }, {
28 | "name" : "nimble:restivus",
29 | "url" : "https://github.com/kahmali/meteor-restivus"
30 | } ]
31 | }, {
32 | "category" : "Forms and Templates",
33 | "items" : [ {
34 | "name" : "aldeed:autoform",
35 | "url" : "https://github.com/aldeed/meteor-autoform"
36 | }, {
37 | "name" : "aldeed:template-extension",
38 | "url" : "https://github.com/aldeed/meteor-template-extension"
39 | }, {
40 | "name" : "kadira:blaze-layout",
41 | "url" : "https://github.com/kadirahq/blaze-layout"
42 | }, {
43 | "name" : "dispatch:scrollview",
44 | "url" : "https://github.com/DispatchMe/meteor-scrollview"
45 | }, {
46 | "name" : "themeteorites:blaze-magic-events",
47 | "url" : "https://github.com/themeteorites/blaze-magic-events"
48 | }, {
49 | "name" : "manuel:viewmodel",
50 | "url" : "https://github.com/ManuelDeLeon/viewmodel"
51 | }, {
52 | "name" : "webix:webix",
53 | "url" : "https://github.com/dandv/meteor-webix"
54 | }, {
55 | "description" : " Bunch of React components and helpers to easily generate and validate forms. Seamlessly integrate with aldeed:simple-schema and simpl-schema",
56 | "name" : "uniforms",
57 | "url" : "https://github.com/vazco/uniforms"
58 | } ]
59 | }, {
60 | "category" : "Users and Authentication",
61 | "items" : [ {
62 | "name" : "accounts-base",
63 | "url" : "https://guide.meteor.com/accounts.html"
64 | }, {
65 | "name" : "alanning:roles",
66 | "url" : "https://github.com/alanning/meteor-roles"
67 | } ]
68 | }, {
69 | "category" : "Deployment",
70 | "items" : [ {
71 | "name" : "When a Meteor finally hits production",
72 | "url" : "https://medium.com/@davidyahalomi/when-a-meteor-finally-hits-production-6c37b81f795b"
73 | }, {
74 | "name" : "BulletProof Meteor",
75 | "url" : "https://bulletproofmeteor.com/"
76 | }, {
77 | "name" : "meteorhacks:kadira",
78 | "url" : "https://github.com/meteorhacks/kadira"
79 | }, {
80 | "name" : "meteor-up",
81 | "url" : "https://github.com/arunoda/meteor-up"
82 | }, {
83 | "name" : "davidyaha:collection2-migrations",
84 | "url" : "https://github.com/davidyaha/meteor-collection2-migrations"
85 | }, {
86 | "name" : "percolate:migrations",
87 | "url" : "https://github.com/percolatestudio/meteor-migrations"
88 | }, {
89 | "name" : "meteorhacks:fast-render",
90 | "url" : "https://github.com/kadirahq/fast-render"
91 | }, {
92 | "name" : "meteorhacks:cluster",
93 | "url" : "https://github.com/meteorhacks/cluster"
94 | }, {
95 | "name" : "yogiben:admin",
96 | "url" : "https://github.com/yogiben/meteor-admin"
97 | }, {
98 | "name" : "demeteorizer",
99 | "url" : "https://github.com/onmodulus/demeteorizer"
100 | }, {
101 | "name" : "Amazon auto scaling and Meteor",
102 | "url" : "https://allandequeirozblog.wordpress.com/2015/09/27/amazon-auto-scaling-and-meteor/"
103 | }, {
104 | "name" : "houston:admin",
105 | "url" : "https://github.com/gterrono/houston"
106 | }, {
107 | "name" : "pm2-meteor",
108 | "url" : "https://github.com/andruschka/pm2-meteor"
109 | } ]
110 | }, {
111 | "category" : "Routers",
112 | "items" : [ {
113 | "name" : "iron:router",
114 | "url" : "https://github.com/iron-meteor/iron-router"
115 | }, {
116 | "name" : "kadira:flow-router",
117 | "url" : "https://github.com/kadirahq/flow-router"
118 | }, {
119 | "name" : "meteorhacks:picker",
120 | "url" : "https://github.com/meteorhacks/picker"
121 | } ]
122 | }, {
123 | "category" : "Offline",
124 | "items" : [ {
125 | "name" : "ground:db",
126 | "url" : "https://github.com/GroundMeteor/db"
127 | } ]
128 | }, {
129 | "category" : "Testing",
130 | "items" : [ {
131 | "name" : "Meteor Testing Manual",
132 | "url" : "http://www.meteortesting.com/"
133 | }, {
134 | "name" : "Velocity",
135 | "url" : "http://velocity.meteor.com/"
136 | }, {
137 | "name" : "mike:mocha",
138 | "url" : "https://github.com/mad-eye/meteor-mocha-web/"
139 | }, {
140 | "name" : "xolvio:chimp",
141 | "url" : "https://github.com/xolvio/chimp"
142 | }, {
143 | "name" : "velocity:html-reporter",
144 | "url" : "https://github.com/meteor-velocity/html-reporter"
145 | }, {
146 | "name" : "Gagarin",
147 | "url" : "https://github.com/anticoders/gagarin"
148 | } ]
149 | }, {
150 | "category" : "Files",
151 | "items" : [ {
152 | "name" : "Meteor-CollectionFS",
153 | "url" : "https://github.com/CollectionFS/Meteor-CollectionFS"
154 | }, {
155 | "name" : "ostrio:files",
156 | "url" : "https://github.com/VeliovGroup/Meteor-Files"
157 | }, {
158 | "name" : "netanelgilad:excel",
159 | "url" : "https://github.com/netanelgilad/meteor-excel"
160 | } ]
161 | }, {
162 | "category" : "Search, sort and paginate",
163 | "items" : [ {
164 | "name" : "tmeasday:publish-counts",
165 | "url" : "https://github.com/percolatestudio/publish-counts"
166 | }, {
167 | "name" : "percolate:find-from-publication",
168 | "url" : "https://github.com/versolearning/find-from-publication"
169 | }, {
170 | "name" : "meteorhacks:search-source",
171 | "url" : "https://github.com/meteorhacks/search-source"
172 | }, {
173 | "name" : "matteodem:easy-search",
174 | "url" : "https://github.com/matteodem/meteor-easy-search"
175 | }, {
176 | "name" : "alethes:pages",
177 | "url" : "https://github.com/alethes/meteor-pages"
178 | }, {
179 | "name" : "Discover Meteor Blog about pagination",
180 | "url" : "https://www.discovermeteor.com/blog/pagination-problems-meteor/"
181 | } ]
182 | }, {
183 | "category" : "Mobile",
184 | "items" : [ {
185 | "name" : "meteoric:ionic",
186 | "url" : "https://github.com/meteoric/meteor-ionic"
187 | }, {
188 | "name" : "driftyco:ionic",
189 | "url" : "https://github.com/driftyco/ionic"
190 | }, {
191 | "name" : "raix:push",
192 | "url" : "https://github.com/raix/push"
193 | }, {
194 | "name" : "martijnwalraven:meteor-ios",
195 | "url" : "https://github.com/martijnwalraven/meteor-ios"
196 | }, {
197 | "name" : "delight-im/Android-DDP",
198 | "url" : "https://github.com/delight-im/Android-DDP"
199 | }, {
200 | "name" : "okland:accounts-phone",
201 | "url" : "https://github.com/okland/accounts-phone"
202 | }, {
203 | "name" : "okland:camera-ui",
204 | "url" : "https://github.com/okland/camera-ui"
205 | }, {
206 | "name" : "percolatestudio/cordova-plugin-safe-reload",
207 | "url" : "https://github.com/percolatestudio/cordova-plugin-safe-reload"
208 | } ]
209 | }, {
210 | "category" : "Data Visualization",
211 | "items" : [ {
212 | "name" : "AnyChart-Meteor",
213 | "url" : "https://github.com/AnyChart/AnyChart-Meteor"
214 | }, {
215 | "name" : "aldeed:tabular",
216 | "url" : "https://github.com/aldeed/meteor-tabular"
217 | } ]
218 | }, {
219 | "category" : "Analytics",
220 | "items" : [ {
221 | "name" : "okgrow:analytics",
222 | "url" : "https://github.com/okgrow/analytics/"
223 | } ]
224 | }, {
225 | "category" : "Cron Jobs",
226 | "items" : [ {
227 | "name" : "percolate:synced-cron",
228 | "url" : "https://github.com/percolatestudio/meteor-synced-cron"
229 | }, {
230 | "name" : "vsivsi:job-collection",
231 | "url" : "https://github.com/vsivsi/meteor-job-collection/"
232 | } ]
233 | }, {
234 | "category" : "Debugging Tools",
235 | "items" : [ {
236 | "name" : "msavin:mongol",
237 | "url" : "https://github.com/msavin/Mongol/"
238 | }, {
239 | "name" : "msavin:jetsetter",
240 | "url" : "https://github.com/msavin/JetSetter"
241 | }, {
242 | "name" : "meteorhacks:kadira-debug",
243 | "url" : "https://github.com/kadirahq/meteor-debug"
244 | }, {
245 | "name" : "babrahams:constellation",
246 | "url" : "https://github.com/JackAdams/constellation-distro/"
247 | }, {
248 | "name" : "Meteor DDP Monitor",
249 | "url" : "https://github.com/thebakeryio/meteor-ddp-monitor"
250 | }, {
251 | "name" : "Dr. Mongo",
252 | "url" : "http://www.drmongo.com/"
253 | } ]
254 | }, {
255 | "category" : "Package Managers",
256 | "items" : [ {
257 | "name" : "meteorhacks:npm",
258 | "url" : "https://github.com/meteorhacks/npm/"
259 | }, {
260 | "name" : "cosmos:browserify",
261 | "url" : "https://github.com/elidoran/cosmos-browserify"
262 | } ]
263 | }, {
264 | "category" : "Scaffolding",
265 | "items" : [ {
266 | "name" : "Meteor Kitchen",
267 | "url" : "http://www.meteorkitchen.com/"
268 | }, {
269 | "name" : "iron-cli",
270 | "url" : "https://github.com/iron-meteor/iron-cli"
271 | }, {
272 | "name" : "Differential",
273 | "url" : "https://github.com/Differential/meteor-boilerplate"
274 | }, {
275 | "name" : "meteoris2",
276 | "url" : "https://github.com/radiegtya/meteoris2"
277 | }, {
278 | "name" : "Base",
279 | "url" : "https://github.com/themeteorchef/base"
280 | } ]
281 | }, {
282 | "category" : "Tooling",
283 | "items" : [ {
284 | "name" : "ESLint-plugin-Meteor",
285 | "url" : "https://github.com/dferber90/eslint-plugin-meteor/"
286 | } ]
287 | }, {
288 | "category" : "Boilerplate",
289 | "items" : [ {
290 | "name" : "matteodem",
291 | "url" : "https://github.com/matteodem/meteor-boilerplate"
292 | }, {
293 | "name" : "React with Webpack + Meteor as a backend",
294 | "url" : "http://julian.io/react-with-webpack-meteor-as-a-backend/"
295 | } ]
296 | }, {
297 | "category" : "Open source apps",
298 | "items" : [ {
299 | "name" : "VulcanJS",
300 | "url" : "https://github.com/VulcanJS/Vulcan"
301 | }, {
302 | "name" : "Microscope",
303 | "url" : "https://github.com/DiscoverMeteor/Microscope"
304 | }, {
305 | "name" : "Wekan",
306 | "url" : "https://github.com/wekan/wekan"
307 | }, {
308 | "name" : "Reaction Commerce",
309 | "url" : "https://github.com/reactioncommerce/reaction"
310 | }, {
311 | "name" : "Crowducate Platform",
312 | "url" : "https://github.com/Crowducate/crowducate-platform"
313 | }, {
314 | "name" : "Orion CMS",
315 | "url" : "http://orionjs.org/"
316 | } ]
317 | }, {
318 | "category" : "Front End Frameworks",
319 | "items" : [ {
320 | "name" : "Blaze",
321 | "url" : "http://blazejs.org/guide/introduction.html"
322 | }, {
323 | "name" : "React",
324 | "url" : "http://react-in-meteor.readthedocs.org/en/latest/"
325 | }, {
326 | "name" : "Angular",
327 | "url" : "https://github.com/Urigo/angular-meteor"
328 | }, {
329 | "name" : "Angular 2",
330 | "url" : "https://github.com/Urigo/angular2-meteor"
331 | }, {
332 | "name" : "Famo.us",
333 | "url" : "https://github.com/gadicc/meteor-famous-views/"
334 | }, {
335 | "name" : "Vue",
336 | "url" : "https://github.com/Akryum/meteor-vue-component"
337 | }, {
338 | "name" : "frozeman:build-client",
339 | "url" : "https://github.com/frozeman/meteor-build-client"
340 | }, {
341 | "name" : "Asteroid",
342 | "url" : "https://github.com/mondora/asteroid"
343 | }, {
344 | "name" : "ddp.js",
345 | "url" : "https://github.com/mondora/ddp.js"
346 | } ]
347 | }, {
348 | "category" : "Alternative Databases",
349 | "items" : [ {
350 | "name" : "meteor-pg",
351 | "url" : "https://github.com/Richie765/meteor-pg"
352 | }, {
353 | "name" : "numtel:pg",
354 | "url" : "https://github.com/numtel/meteor-pg"
355 | }, {
356 | "name" : "numtel:mysql",
357 | "url" : "https://github.com/numtel/meteor-mysql"
358 | }, {
359 | "name" : "simple:rethink",
360 | "url" : "https://github.com/Slava/meteor-rethinkdb"
361 | } ]
362 | }, {
363 | "category" : "Books",
364 | "items" : [ {
365 | "name" : "Meteor Explained",
366 | "url" : "https://gumroad.com/l/meteor-explained"
367 | }, {
368 | "name" : "Meteor Tips",
369 | "url" : "http://meteortips.com/"
370 | }, {
371 | "name" : "Meteor Cookbook",
372 | "url" : "https://github.com/awatson1978/meteor-cookbook"
373 | } ]
374 | }, {
375 | "category" : "Courses",
376 | "items" : [ {
377 | "name" : "EventedMind",
378 | "url" : "https://www.eventedmind.com/"
379 | }, {
380 | "name" : "Udemy — Meteor: Build a real-time web app using only JavaScript",
381 | "url" : "https://www.udemy.com/meteor-course/"
382 | }, {
383 | "description" : " A Beginner's Guide to the Meteor JavaScript Framework",
384 | "name" : "Udemy",
385 | "url" : "https://www.udemy.com/meteorjs/"
386 | }, {
387 | "description" : " Single Page Web Apps with Meteor",
388 | "name" : "tuts+",
389 | "url" : "http://code.tutsplus.com/courses/single-page-web-apps-with-meteor"
390 | }, {
391 | "name" : "DevFreeCasts.org",
392 | "url" : "http://devfreecasts.org/meteor/"
393 | }, {
394 | "name" : "MeteorTuts",
395 | "url" : "http://meteortuts.com/"
396 | } ]
397 | }, {
398 | "category" : "Tutorials",
399 | "items" : [ {
400 | "name" : "Building a CMS-powered blog in Meteor",
401 | "url" : "https://buttercms.com/blog/meteor-cms-blog-tutorial"
402 | }, {
403 | "description" : " Building a Slack Clone in Meteor",
404 | "name" : "scotch.io",
405 | "url" : "https://scotch.io/tutorials/building-a-slack-clone-in-meteor-js-getting-started"
406 | }, {
407 | "name" : "Rocket-Chat Slack Clone",
408 | "url" : "https://rocket.chat/"
409 | }, {
410 | "name" : "Meteor Learning",
411 | "url" : "https://github.com/ericdouglas/Meteor-Learning"
412 | }, {
413 | "name" : "Learning Resources for Meteor",
414 | "url" : "https://www.yauh.de/best-learning-resources-for-meteorjs/"
415 | }, {
416 | "name" : "Phusion Passenger: Meteor tutorial",
417 | "url" : "https://github.com/phusion/passenger/wiki/Phusion-Passenger:-Meteor-tutorial"
418 | } ]
419 | }, {
420 | "category" : "Blogs",
421 | "items" : [ {
422 | "name" : "Official Meteor blog",
423 | "url" : "http://blog.meteor.com"
424 | }, {
425 | "name" : "Meteor Hacks Blog",
426 | "url" : "https://meteorhacks.com/"
427 | }, {
428 | "name" : "Meteor Create",
429 | "url" : "http://meteorcreate.com/"
430 | }, {
431 | "name" : "The Meteor podcast",
432 | "url" : "http://podcast.crater.io"
433 | }, {
434 | "name" : "Meteor club podcast",
435 | "url" : "https://podcast.meteorjs.club/"
436 | }, {
437 | "name" : "Blog about Optimistic UIs With Meteor Latency Compensation",
438 | "url" : "http://info.meteor.com/blog/optimistic-ui-with-meteor-latency-compensation"
439 | } ]
440 | }, {
441 | "category" : "Websites",
442 | "items" : [ {
443 | "name" : "Official website",
444 | "url" : "https://www.meteor.com/"
445 | }, {
446 | "name" : "Official Documentation",
447 | "url" : "http://docs.meteor.com/"
448 | }, {
449 | "name" : "Official Guide",
450 | "url" : "http://guide.meteor.com/"
451 | }, {
452 | "name" : "Atmosphere",
453 | "url" : "https://atmospherejs.com/"
454 | }, {
455 | "name" : "BulletProof Meteor",
456 | "url" : "https://bulletproofmeteor.com/"
457 | }, {
458 | "name" : "Meteorpedia",
459 | "url" : "http://www.meteorpedia.com"
460 | }, {
461 | "name" : "DiscoverMeteor Encyclopedia",
462 | "url" : "https://www.discovermeteor.com/encyclopedia"
463 | }, {
464 | "name" : "Roadmap",
465 | "url" : "https://trello.com/b/hjBDflxp/meteor-roadmap"
466 | }, {
467 | "name" : "Meetups",
468 | "url" : "http://meteor.meetup.com/"
469 | }, {
470 | "name" : "Reddit",
471 | "url" : "https://www.reddit.com/r/meteor"
472 | }, {
473 | "name" : "YouTube",
474 | "url" : "https://www.youtube.com/channel/UC3fBiJrFFMhKlsWM46AsAYw"
475 | }, {
476 | "name" : "Unofficial Meteor FAQ",
477 | "url" : "https://github.com/oortcloud/unofficial-meteor-faq"
478 | }, {
479 | "name" : "The Meteor Chef",
480 | "url" : "https://themeteorchef.com"
481 | } ]
482 | }, {
483 | "category" : "Q&A",
484 | "items" : [ {
485 | "name" : "Stack Overflow",
486 | "url" : "http://stackoverflow.com/questions/tagged/meteor?sort=newest&pagesize=15"
487 | }, {
488 | "name" : "Meteor forums",
489 | "url" : "https://forums.meteor.com/"
490 | }, {
491 | "name" : "Gitter IM channel",
492 | "url" : "https://gitter.im/meteor/meteor"
493 | }, {
494 | "name" : "The Meteor Chef Slack channel",
495 | "url" : "https://themeteorchef.slack.com"
496 | } ]
497 | }, {
498 | "category" : "Weekly",
499 | "items" : [ {
500 | "name" : "Meteor-Blog",
501 | "url" : "http://info.meteor.com/blog"
502 | }, {
503 | "name" : "Meteor Weekly",
504 | "url" : "https://goodbits.io"
505 | }, {
506 | "name" : "Crater.io",
507 | "url" : "https://crater.io/"
508 | }, {
509 | "name" : "This Week In Meteor",
510 | "url" : "https://goodbits.io"
511 | } ]
512 | }, {
513 | "category" : "Twitter",
514 | "items" : [ {
515 | "name" : "Official Meteor",
516 | "url" : "https://twitter.com/meteorjs"
517 | } ]
518 | }, {
519 | "category" : "Job Boards",
520 | "items" : [ {
521 | "name" : "We Work Meteor",
522 | "url" : "https://www.weworkmeteor.com/"
523 | }, {
524 | "name" : "Contributing",
525 | "url" : "https://github.com/urigo/awesome-meteor/blob/master/CONTRIBUTING.md"
526 | } ]
527 | } ]
528 |
--------------------------------------------------------------------------------
/database/front-end-development/Nextjs.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Community",
3 | "items" : [ {
4 | "name" : "Slack",
5 | "url" : "https://zeit.chat"
6 | }, {
7 | "name" : "GitHub",
8 | "url" : "https://github.com/zeit/next.js"
9 | } ]
10 | }, {
11 | "category" : "Essentials",
12 | "items" : [ {
13 | "name" : "Blog",
14 | "url" : "https://zeit.co/blog/next"
15 | }, {
16 | "name" : "Learn",
17 | "url" : "https://learnnextjs.com/"
18 | } ]
19 | }, {
20 | "category" : "Articles",
21 | "items" : [ {
22 | "name" : "Build a Universal JavaScript App with Next.js",
23 | "url" : "https://auth0.com/blog/building-universal-apps-with-nextjs"
24 | }, {
25 | "name" : "Getting Started with Next.js — Setting Up Your App",
26 | "url" : "https://labs.redantler.com/getting-started-with-next-js-article-one-a1d9780ea9e0#.863nl4wnq"
27 | }, {
28 | "name" : "Getting Started with Next.js — Bringing Data In",
29 | "url" : "https://labs.redantler.com/getting-started-with-next-js-bringing-data-in-bf40558698e2#.twjv5xk5w"
30 | }, {
31 | "name" : "How to build a Next.js React Universal App",
32 | "url" : "https://medium.com/cosmicjs/how-to-build-a-next-js-react-universal-app-e610a0bc2124#.b8ayt9f39"
33 | }, {
34 | "name" : "Next on Next.js",
35 | "url" : "https://jsmantra.com/next-on-next-js-1a134505f346#.sf2f64u4r"
36 | }, {
37 | "name" : "Accept payments on your site with nextjs, stripe, and micro",
38 | "url" : "https://hackernoon.com/accept-payments-on-your-site-with-nextjs-stripe-and-micro-371de95b22d5?source=activity---post_recommended"
39 | }, {
40 | "name" : "Next.js on Cloud Functions for Firebase with Firebase Hosting",
41 | "url" : "https://medium.com/@jthegedus/next-js-on-cloud-functions-for-firebase-with-firebase-hosting-7911465298f2"
42 | }, {
43 | "name" : "Building a Blog With Next.js",
44 | "url" : "https://timber.io/blog/building-a-blog-with-next-js"
45 | }, {
46 | "name" : "Using Google Analytics with Next.js",
47 | "url" : "https://malloc.fi/using-google-analytics-with-next-js"
48 | }, {
49 | "name" : "Build a Universal JavaScript App with Next.js and Redux (Russian)",
50 | "url" : "https://habrahabr.ru/post/323588/"
51 | }, {
52 | "name" : "Next.js — React Server Side Rendering Done Right",
53 | "url" : "https://hackernoon.com/next-js-react-server-side-rendering-done-right-f9700078a3b6"
54 | }, {
55 | "name" : "5 (of the Many Reasons) to love Zeit's Next.js",
56 | "url" : "https://www.codementor.io/tgreco/5-of-the-many-things-to-love-about-zeit-s-next-js-bpszu99g1"
57 | } ]
58 | }, {
59 | "category" : "Boilerplates",
60 | "items" : [ {
61 | "name" : "Next Simple Starter",
62 | "url" : "https://github.com/ooade/NextSimpleStarter"
63 | }, {
64 | "name" : "NextJS Starter",
65 | "url" : "https://github.com/iaincollins/nextjs-starter"
66 | }, {
67 | "name" : "RAN!",
68 | "url" : "https://github.com/sly777/ran"
69 | }, {
70 | "name" : "Next Simple Blog",
71 | "url" : "https://github.com/tscanlin/next-blog"
72 | }, {
73 | "name" : "Create-Next-App",
74 | "url" : "https://open.segment.com/create-next-app"
75 | }, {
76 | "name" : "phox",
77 | "url" : "https://github.com/herschel666/phox"
78 | } ]
79 | }, {
80 | "category" : "Extensions",
81 | "items" : [ {
82 | "name" : "Next Routes",
83 | "url" : "https://github.com/fridays/next-routes"
84 | } ]
85 | }, {
86 | "category" : "Apps",
87 | "items" : [ {
88 | "name" : "Nextgram",
89 | "url" : "https://github.com/zeit/nextgram"
90 | }, {
91 | "name" : "NextJS GOT",
92 | "url" : "https://github.com/auth0-blog/nextjs-got"
93 | }, {
94 | "name" : "Next Episode",
95 | "url" : "https://github.com/timneutkens/next-episode"
96 | }, {
97 | "name" : "Relate",
98 | "url" : "https://github.com/RelateNow/relate"
99 | }, {
100 | "name" : "Next News",
101 | "url" : "https://github.com/now-examples/next-news"
102 | }, {
103 | "name" : "Password",
104 | "url" : "https://github.com/dotcypress/password"
105 | }, {
106 | "name" : "Next Todos",
107 | "url" : "https://github.com/lipp/next-todos"
108 | }, {
109 | "name" : "Hacker News",
110 | "url" : "https://github.com/lipp/hackernews"
111 | }, {
112 | "name" : "Jet Chat",
113 | "url" : "https://github.com/lipp/jet-chat"
114 | }, {
115 | "name" : "Nextgram",
116 | "url" : "https://github.com/arunoda/nextgram"
117 | }, {
118 | "name" : "Rauchg Blog",
119 | "url" : "https://github.com/rauchg/blog"
120 | }, {
121 | "name" : "Next JPH",
122 | "url" : "https://github.com/renatorib/next-jph"
123 | }, {
124 | "name" : "Mailto",
125 | "url" : "https://github.com/dawsbot/mailto"
126 | }, {
127 | "name" : "Plate",
128 | "url" : "https://github.com/knipferrc/plate"
129 | }, {
130 | "name" : "Dashboard",
131 | "url" : "https://github.com/danielbayerlein/dashboard"
132 | }, {
133 | "name" : "Snape",
134 | "url" : "https://github.com/ritz078/snape"
135 | }, {
136 | "name" : "Trello Resume",
137 | "url" : "https://github.com/juliandavidmr/TrelloResume"
138 | }, {
139 | "name" : "Server Authentication with JWT",
140 | "url" : "https://github.com/estrada9166/server-authentication-next.js"
141 | }, {
142 | "name" : "Alexander Kachkaev’s website",
143 | "url" : "https://gitlab.com/kachkaev/website-frontend/"
144 | }, {
145 | "name" : "Cookie handler with server render",
146 | "url" : "https://github.com/estrada9166/cookie-handler-next.js"
147 | }, {
148 | "name" : "Gank",
149 | "url" : "https://github.com/OrangeXC/gank"
150 | }, {
151 | "name" : "Decoupled CMS example with GraphQL and Next.js",
152 | "url" : "https://github.com/janit/decoupled-cms-nextjs-graphql"
153 | }, {
154 | "name" : "DS",
155 | "url" : "https://github.com/divyenduz/ds"
156 | } ]
157 | }, {
158 | "category" : "Videos",
159 | "items" : [ {
160 | "name" : "Create your first ReactJS application with NextJS (Spanish)",
161 | "url" : "https://www.youtube.com/watch?v=-7Ft5LxPeWs"
162 | }, {
163 | "name" : "React Server Side Rendering with NextJS",
164 | "url" : "https://www.youtube.com/watch?v=JEBkh_vleTs&t"
165 | }, {
166 | "description" : " Next.js by Example",
167 | "name" : "Guillermo Rauch",
168 | "url" : "https://www.youtube.com/watch?v=DLGJfa3Xv-0"
169 | }, {
170 | "description" : " Next.js: Universal React Made Easy and Simple",
171 | "name" : "Guillermo Rauch",
172 | "url" : "https://www.youtube.com/watch?v=evaMpdSiZKk"
173 | }, {
174 | "name" : "Introduction to Next.js",
175 | "url" : "https://www.youtube.com/watch?v=Fnw3lNeH-XI"
176 | }, {
177 | "name" : "Next.js in production",
178 | "url" : "https://www.youtube.com/watch?v=h6rETZH6Ym0"
179 | }, {
180 | "name" : "Parameterized Routing with Next.js",
181 | "url" : "https://www.youtube.com/watch?v=2cJya4h5ync"
182 | }, {
183 | "description" : " Static and Dynamic Next.js",
184 | "name" : "JSHeroes 2017 | Guillermo Rauch",
185 | "url" : "https://www.youtube.com/watch?v=lLNJsuXB4CI"
186 | }, {
187 | "description" : " Guillermo Rauch · JSConf China 2017",
188 | "name" : "Programming the Universal Future with Next.js",
189 | "url" : "https://www.youtube.com/watch?v=w9Or7B4kTRY"
190 | }, {
191 | "description" : " Introduction to Next.js",
192 | "name" : "BPJS: Special",
193 | "url" : "https://www.youtube.com/watch?v=4cfozXTyjWQ"
194 | }, {
195 | "name" : "Next for Next.js",
196 | "url" : "https://www.youtube.com/watch?v=ms2aOV06_qk"
197 | }, {
198 | "name" : "Data Management With Next.js and GraphQL",
199 | "url" : "https://www.youtube.com/watch?v=g_LA1quUIi8"
200 | }, {
201 | "name" : "Next.js Register User",
202 | "url" : "https://www.youtube.com/watch?v=oQ60Grn4RYQ"
203 | } ]
204 | }, {
205 | "category" : "Contributing",
206 | "items" : [ {
207 | "name" : "blog",
208 | "url" : "https://goodheads.io"
209 | } ]
210 | } ]
211 |
--------------------------------------------------------------------------------
/database/front-end-development/Polymer.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "General resources",
3 | "items" : [ {
4 | "name" : "Official Site",
5 | "url" : "https://www.polymer-project.org"
6 | }, {
7 | "name" : "Blog",
8 | "url" : "https://blog.polymer-project.org/"
9 | }, {
10 | "name" : "Google+ Profile",
11 | "url" : "https://plus.google.com/+PolymerProject/"
12 | }, {
13 | "name" : "Github",
14 | "url" : "https://github.com/polymer"
15 | }, {
16 | "name" : "Project",
17 | "url" : "https://github.com/polymer/project"
18 | } ]
19 | }, {
20 | "category" : "Polymer Communities",
21 | "items" : [ {
22 | "name" : "StackOverflow",
23 | "url" : "http://stackoverflow.com/questions/tagged/polymer"
24 | }, {
25 | "name" : "GoogleGroup",
26 | "url" : "https://groups.google.com/forum/#!forum/polymer-dev"
27 | }, {
28 | "name" : "Twitter",
29 | "url" : "https://twitter.com/polymer"
30 | }, {
31 | "name" : "Google+ Community",
32 | "url" : "https://plus.google.com/u/1/communities/115626364525706131031"
33 | }, {
34 | "name" : "Slack channel",
35 | "url" : "http://polymer-slack.herokuapp.com/"
36 | } ]
37 | }, {
38 | "category" : "Tutorials/Guides",
39 | "items" : [ {
40 | "name" : "Official Codelabs",
41 | "url" : "https://codelabs.developers.google.com/polymer-summit"
42 | }, {
43 | "name" : "Test your elements",
44 | "url" : "https://www.polymer-project.org/2.0/docs/tools/tests"
45 | }, {
46 | "name" : "Testing Tips",
47 | "url" : "https://medium.com/google-developer-experts/polymer-testing-tips-f217ba94a64"
48 | }, {
49 | "name" : "Unit Testing",
50 | "url" : "https://medium.com/@granze/polymer-unit-testing-d6a69910dc31"
51 | }, {
52 | "name" : "Deploy with Firebase",
53 | "url" : "https://www.polymer-project.org/2.0/start/toolbox/deploy"
54 | }, {
55 | "name" : "Migration guide",
56 | "url" : "https://www.polymer-project.org/1.0/docs/migration.html"
57 | }, {
58 | "name" : "Using elements",
59 | "url" : "https://elements.polymer-project.org/guides/using-elements"
60 | }, {
61 | "name" : "Flexbox layout with iron-flex-layout",
62 | "url" : "https://elements.polymer-project.org/guides/flex-layout"
63 | }, {
64 | "name" : "Using Neon Animations",
65 | "url" : "https://elements.polymer-project.org/guides/using-neon-animations"
66 | }, {
67 | "name" : "Build a real-time to-do app",
68 | "url" : "https://scotch.io/tutorials/build-a-real-time-polymer-to-do-app"
69 | }, {
70 | "name" : "Taming Polymer with SystemJS and TypeScript",
71 | "url" : "http://blog.charto.net/typescript/Taming-Polymer-with-SystemJS-and-TypeScript-part-1/"
72 | }, {
73 | "name" : "Aurelia Integration",
74 | "url" : "http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/integrating-with-polymer"
75 | }, {
76 | "name" : "Polymer 3.0 Preview — Building a mini card game",
77 | "url" : "https://medium.com/@jecelynyeen/polymer-3-0-preview-building-a-mini-card-game-ce8948265fd6"
78 | } ]
79 | }, {
80 | "category" : "Articles",
81 | "items" : [ {
82 | "name" : "Encapsulated Routing with Elements",
83 | "url" : "https://www.polymer-project.org/1.0/articles/routing.html"
84 | }, {
85 | "name" : "Building web components using ES6 classes",
86 | "url" : "https://www.polymer-project.org/1.0/articles/es6.html"
87 | }, {
88 | "name" : "Write web components with ES2015 (ES6)",
89 | "url" : "http://www.revillweb.com/tutorials/web-components-with-es2015-es6/"
90 | }, {
91 | "name" : "Live-reload for Polymer Chrome Apps",
92 | "url" : "http://codingwithgerwin.blogspot.it/2015/07/live-reload-for-polymer-chrome-apps.html"
93 | }, {
94 | "name" : "Using Polymer with Flux and a global app state",
95 | "url" : "http://paulusschoutsen.nl/blog/2015/07/using-polymer-with-flux-and-a-global-app-state/"
96 | }, {
97 | "name" : "Guitar Tuner with Web audio API",
98 | "url" : "https://aerotwist.com/blog/guitar-tuner/"
99 | }, {
100 | "name" : "Polymer for the Performance-obsessed",
101 | "url" : "https://aerotwist.com/blog/polymer-for-the-performance-obsessed/"
102 | }, {
103 | "name" : "What is shady DOM",
104 | "url" : "https://www.polymer-project.org/1.0/articles/shadydom.html"
105 | }, {
106 | "name" : "Using Polymer webcomponents with Angular JS",
107 | "url" : "http://jcrowther.io/2015/05/26/using-polymer-webcomponents-with-angular-js/"
108 | }, {
109 | "name" : "Upgrading to 1.0",
110 | "url" : "https://www.bithound.io/blog/post/upgrading-to-polymer-10"
111 | }, {
112 | "name" : "Setting up your Production-ready Polymer 1.0 Application Development",
113 | "url" : "http://blogs.walkingtree.in/2015/06/29/setting-up-your-production-ready-polymer-1-0-application-development/"
114 | }, {
115 | "name" : "Dynamically Loading Elements & ES6 Modules",
116 | "url" : "http://addyosmani.github.io/webcomponent-samples/polymer/modules/"
117 | }, {
118 | "name" : "NET-A-PORTER case study",
119 | "url" : "https://developers.google.com/web/showcase/case-study/net-a-porter"
120 | }, {
121 | "name" : "Polymer loves Redux",
122 | "url" : "https://medium.com/collaborne-engineering/polymer-loves-redux-f89a863394d9#.7f4z92ppy"
123 | }, {
124 | "name" : "How to use Polymer with Webpack",
125 | "url" : "https://medium.com/dev-channel/how-to-use-polymer-with-webpack-b41812d78b15"
126 | } ]
127 | }, {
128 | "category" : "Videos",
129 | "items" : [ {
130 | "name" : "Polycasts",
131 | "url" : "https://www.youtube.com/playlist?list=PLOU2XLYxmsII5c3Mgw6fNYCzaWrsM3sMN"
132 | }, {
133 | "name" : "Summit 2017",
134 | "url" : "https://www.youtube.com/watch?v=TDpiyrcOO30&list=PLNYkxOF6rcIDP0PqVaJxqNWwIgvoEPzJi"
135 | }, {
136 | "name" : "Summit 2016",
137 | "url" : "https://www.youtube.com/watch?v=0iM0DZjYGqg&list=PLNYkxOF6rcICc687SxHQRuo9TVNOJelSZ"
138 | }, {
139 | "name" : "Summit 2015",
140 | "url" : "https://www.youtube.com/playlist?list=PLNYkxOF6rcICdISJclfQhj2S8QZGjXV8J"
141 | }, {
142 | "name" : "The Web Platform Podcast 46: Polymer 1.0",
143 | "url" : "https://www.youtube.com/watch?v=d9tNO3n0RlM"
144 | }, {
145 | "description" : " Future, Faster: Unlock the Power of Web Components with Polymer",
146 | "name" : "Google I/O 2017",
147 | "url" : "https://www.youtube.com/watch?v=cuoZenpQveQ"
148 | }, {
149 | "description" : " Polymer and modern web APIs: In production at Google scale",
150 | "name" : "Google I/O 2015",
151 | "url" : "https://www.youtube.com/watch?v=fD2As5RmM8Q"
152 | }, {
153 | "name" : "Componentize your app with Polymer Elements",
154 | "url" : "https://youtu.be/7WgEuNZCCHk"
155 | }, {
156 | "name" : "Learn Polymer 1.0",
157 | "url" : "https://www.youtube.com/playlist?list=PLPaj_o9gjMYll0sSb47TrzQCjIo5iqQZm"
158 | }, {
159 | "name" : "Level up Tutorials",
160 | "url" : "https://www.youtube.com/playlist?list=PLLnpHn493BHGhoGAb2PRKzv4Zw3QoatK-"
161 | } ]
162 | }, {
163 | "category" : "Podcasts",
164 | "items" : [ {
165 | "name" : "Polymer Podcast",
166 | "url" : "http://www.polymerpodcast.com/"
167 | } ]
168 | }, {
169 | "category" : "Boilerplates",
170 | "items" : [ {
171 | "name" : "Polymer boilerplate",
172 | "url" : "https://github.com/webcomponents/polymer-boilerplate"
173 | }, {
174 | "name" : "Starter kit",
175 | "url" : "https://developers.google.com/web/tools/polymer-starter-kit/"
176 | }, {
177 | "name" : "Seed element",
178 | "url" : "https://github.com/polymerlabs/seed-element"
179 | }, {
180 | "name" : "Polymer Admin",
181 | "url" : "https://github.com/akveo/polymer-admin"
182 | }, {
183 | "name" : "Meteor-Polymer Starter Kit",
184 | "url" : "https://github.com/aruntk/kickstart-meteor-polymer"
185 | }, {
186 | "name" : "Meteor-Polymer Starter Kit Including Auth",
187 | "url" : "https://github.com/aruntk/kickstart-meteor-polymer-with-auth"
188 | } ]
189 | }, {
190 | "category" : "Generators",
191 | "items" : [ {
192 | "name" : "Generator Polymer",
193 | "url" : "https://github.com/yeoman/generator-polymer"
194 | }, {
195 | "name" : "Generator element",
196 | "url" : "https://www.npmjs.com/package/generator-element"
197 | } ]
198 | }, {
199 | "category" : "Official Elements",
200 | "items" : [ {
201 | "name" : "Elements Catalog",
202 | "url" : "https://www.webcomponents.org/collection/Polymer/elements"
203 | }, {
204 | "name" : "Iron",
205 | "url" : "https://www.webcomponents.org/collection/PolymerElements/iron-elements"
206 | }, {
207 | "name" : "Paper",
208 | "url" : "https://www.webcomponents.org/collection/PolymerElements/paper-elements"
209 | }, {
210 | "name" : "Google web components",
211 | "url" : "https://www.webcomponents.org/collection/GoogleWebComponents/google-web-components"
212 | }, {
213 | "name" : "Gold",
214 | "url" : "https://www.webcomponents.org/collection/PolymerElements/gold-elements"
215 | }, {
216 | "name" : "Platinum",
217 | "url" : "https://www.webcomponents.org/collection/PolymerElements/platinum-elements"
218 | }, {
219 | "name" : "Molecules",
220 | "url" : "https://www.webcomponents.org/collection/PolymerElements/molecules"
221 | }, {
222 | "name" : "App",
223 | "url" : "https://www.webcomponents.org/collection/PolymerElements/app-elements"
224 | }, {
225 | "name" : "Data",
226 | "url" : "https://www.webcomponents.org/collection/PolymerElements/data-elements"
227 | }, {
228 | "name" : "Layout",
229 | "url" : "https://www.webcomponents.org/collection/PolymerElements/layout-elements"
230 | } ]
231 | }, {
232 | "category" : "Directories",
233 | "items" : [ {
234 | "name" : "Built with Polymer",
235 | "url" : "http://builtwithpolymer.org/"
236 | }, {
237 | "name" : "Webcomponents.org",
238 | "url" : "https://webcomponents.org/"
239 | }, {
240 | "name" : "Components Kitchen",
241 | "url" : "http://component.kitchen/"
242 | }, {
243 | "name" : "open-elements",
244 | "url" : "http://open-elements.org"
245 | } ]
246 | }, {
247 | "category" : "Tools",
248 | "items" : [ {
249 | "name" : "Polyserve",
250 | "url" : "https://github.com/polymerlabs/polyserve"
251 | }, {
252 | "name" : "Polybuild",
253 | "url" : "https://github.com/PolymerLabs/polybuild"
254 | }, {
255 | "name" : "Polyup",
256 | "url" : "https://github.com/PolymerLabs/polyup"
257 | }, {
258 | "name" : "Polylint",
259 | "url" : "https://github.com/PolymerLabs/polylint"
260 | }, {
261 | "name" : "Polygit",
262 | "url" : "http://polygit.org/"
263 | }, {
264 | "name" : "Polydev",
265 | "url" : "https://github.com/PolymerLabs/polydev"
266 | }, {
267 | "name" : "Polymer Ready",
268 | "url" : "https://chrome.google.com/webstore/detail/polymer-ready/aaifiopbmiecbpladpjaoemohhfjcbdk"
269 | }, {
270 | "name" : "Vulcanize",
271 | "url" : "https://github.com/Polymer/vulcanize"
272 | }, {
273 | "name" : "Crisper",
274 | "url" : "https://github.com/PolymerLabs/crisper"
275 | }, {
276 | "name" : "Snippets for Atom editor",
277 | "url" : "https://atom.io/packages/polymer-snippets"
278 | }, {
279 | "name" : "Snippets for Sublime Text editor",
280 | "url" : "https://packagecontrol.io/packages/Polymer%20%26%20Web%20Component%20Snippets"
281 | }, {
282 | "name" : "Synthesis",
283 | "url" : "https://github.com/meteorwebcomponents/synthesis"
284 | }, {
285 | "name" : "MWC-Layout",
286 | "url" : "https://github.com/meteorwebcomponents/layout"
287 | }, {
288 | "name" : "WC-Loader",
289 | "url" : "https://github.com/aruntk/wc-loader"
290 | }, {
291 | "name" : "Polymer Webpack Loader",
292 | "url" : "https://github.com/webpack-contrib/polymer-webpack-loader"
293 | }, {
294 | "name" : "Polymer CDN",
295 | "url" : "https://github.com/download/polymer-cdn"
296 | } ]
297 | }, {
298 | "category" : "Testing",
299 | "items" : [ {
300 | "name" : "Web components tester",
301 | "url" : "https://github.com/Polymer/web-component-tester"
302 | }, {
303 | "name" : "Web components tester istambul",
304 | "url" : "https://github.com/thedeeno/web-component-tester-istanbul"
305 | }, {
306 | "name" : "test-fixture",
307 | "url" : "https://github.com/PolymerElements/test-fixture"
308 | }, {
309 | "name" : "iron-test-helpers",
310 | "url" : "https://github.com/PolymerElements/iron-test-helpers"
311 | } ]
312 | }, {
313 | "category" : "Behaviors",
314 | "items" : [ {
315 | "name" : "Polymer-Apollo",
316 | "url" : "https://github.com/aruntk/polymer-apollo"
317 | }, {
318 | "name" : "MWC-Mixin",
319 | "url" : "https://github.com/meteorwebcomponents/mixin"
320 | }, {
321 | "name" : "MWC-Router",
322 | "url" : "https://github.com/meteorwebcomponents/router"
323 | }, {
324 | "name" : "Polymer-Redux",
325 | "url" : "https://github.com/tur-nr/polymer-redux"
326 | } ]
327 | }, {
328 | "category" : "Theming/Styling",
329 | "items" : [ {
330 | "name" : "Polymer Themes",
331 | "url" : "https://polymerthemes.com/"
332 | }, {
333 | "name" : "Material Palette",
334 | "url" : "https://www.materialpalette.com/"
335 | }, {
336 | "name" : "Polystyle",
337 | "url" : "https://poly-style.appspot.com/demo/"
338 | } ]
339 | }, {
340 | "category" : "Notable projects",
341 | "items" : [ {
342 | "name" : "Polymer Projects",
343 | "url" : "https://github.com/abdonrd/PolymerProjects"
344 | } ]
345 | } ]
346 |
--------------------------------------------------------------------------------
/database/front-end-development/Preact.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Contents"
3 | }, {
4 | "category" : "Community",
5 | "items" : [ {
6 | "name" : "Slack",
7 | "url" : "https://preact-slack.now.sh"
8 | }, {
9 | "name" : "Stack Overflow",
10 | "url" : "https://stackoverflow.com/questions/tagged/preact"
11 | }, {
12 | "name" : "Github",
13 | "url" : "https://github.com/developit/preact"
14 | }, {
15 | "name" : "Twitter",
16 | "url" : "https://twitter.com/preactjs"
17 | } ]
18 | }, {
19 | "category" : "Toolkits",
20 | "items" : [ {
21 | "name" : "Preact CLI",
22 | "url" : "https://github.com/developit/preact-cli"
23 | }, {
24 | "name" : "nwb",
25 | "url" : "https://github.com/insin/nwb"
26 | }, {
27 | "name" : "React App Rewire Preact",
28 | "url" : "https://github.com/timarney/react-app-rewired/tree/master/packages/react-app-rewire-preact"
29 | }, {
30 | "name" : "Preact CLI PostCSS",
31 | "url" : "https://github.com/SaraVieira/preact-cli-postcss"
32 | } ]
33 | }, {
34 | "category" : "Boilerplates",
35 | "items" : [ {
36 | "name" : "Official Boilerplate",
37 | "url" : "https://github.com/developit/preact-boilerplate"
38 | }, {
39 | "name" : "Preact Simple Starter",
40 | "url" : "https://github.com/ooade/PreactSimpleStarter"
41 | }, {
42 | "name" : "Preact Offline Starter",
43 | "url" : "https://github.com/lukeed/preact-starter"
44 | }, {
45 | "name" : "TypeScript Preact Starter",
46 | "url" : "https://github.com/nickytonline/ts-preact-starter"
47 | }, {
48 | "name" : "Preact Redux SSR Example",
49 | "url" : "https://github.com/csbun/preact-redux-ssr-example"
50 | }, {
51 | "name" : "Preact PWA",
52 | "url" : "https://github.com/ezekielchentnik/preact-pwa"
53 | } ]
54 | }, {
55 | "category" : "Routing",
56 | "items" : [ {
57 | "name" : "Preact Router",
58 | "url" : "https://github.com/developit/preact-router"
59 | } ]
60 | }, {
61 | "category" : "Components",
62 | "items" : [ {
63 | "name" : "Preact Material Components",
64 | "url" : "https://github.com/prateekbh/preact-material-components"
65 | }, {
66 | "name" : "Preact Scroll Header",
67 | "url" : "https://github.com/lukeed/preact-scroll-header"
68 | }, {
69 | "name" : "Preact Progress",
70 | "url" : "https://github.com/lukeed/preact-progress"
71 | }, {
72 | "description" : " Use any React library with Preact *(full example",
73 | "name" : "Preact Compat",
74 | "url" : "https://git.io/preact-compat"
75 | }, {
76 | "name" : "Preact Render To String",
77 | "url" : "https://git.io/preact-render-to-string"
78 | }, {
79 | "name" : "Preact Markup",
80 | "url" : "https://git.io/preact-markup"
81 | }, {
82 | "name" : "Preact Portal",
83 | "url" : "https://git.io/preact-portal"
84 | }, {
85 | "name" : "Preact Richtextarea",
86 | "url" : "https://git.io/preact-richtextarea"
87 | }, {
88 | "name" : "Preact Token Input",
89 | "url" : "https://github.com/developit/preact-token-input"
90 | }, {
91 | "description" : " Easily render lists with millions of rows (demo",
92 | "name" : "Preact Virtual List",
93 | "url" : "https://github.com/developit/preact-virtual-list"
94 | }, {
95 | "name" : "Preact Cycle",
96 | "url" : "https://git.io/preact-cycle"
97 | }, {
98 | "name" : "Preact Layout",
99 | "url" : "https://download.github.io/preact-layout/"
100 | }, {
101 | "description" : " Preact plugin for Socrates",
102 | "name" : "Preact Socrates",
103 | "url" : "https://github.com/matthewmueller/preact-socrates"
104 | }, {
105 | "description" : " Use flyd",
106 | "name" : "Preact Flyd",
107 | "url" : "https://github.com/xialvjun/preact-flyd"
108 | }, {
109 | "description" : "Integrates the ecosystem around i18n-js with Preact via i18nline",
110 | "name" : "Preact I18nline",
111 | "url" : "https://github.com/download/preact-i18nline"
112 | }, {
113 | "name" : "Preact MUI",
114 | "url" : "https://git.io/v1aVO"
115 | }, {
116 | "description" : " Use MDL",
117 | "name" : "Preact MDL",
118 | "url" : "https://git.io/preact-mdl"
119 | }, {
120 | "description" : " Build beautiful desktop UI with photon",
121 | "name" : "Preact Photon",
122 | "url" : "https://git.io/preact-photon"
123 | }, {
124 | "name" : "Preact Classless Component",
125 | "url" : "https://github.com/ld0rman/preact-classless-component"
126 | }, {
127 | "name" : "Preact Hyperscript",
128 | "url" : "https://github.com/queckezz/preact-hyperscript"
129 | }, {
130 | "name" : "Shallow Compare",
131 | "url" : "https://github.com/tkh44/shallow-compare"
132 | }, {
133 | "description" : " Build beautiful desktop UI with photon",
134 | "name" : "Preact Photon",
135 | "url" : "https://git.io/preact-photon"
136 | }, {
137 | "name" : "Preact Codemod",
138 | "url" : "https://github.com/vutran/preact-codemod"
139 | }, {
140 | "name" : "Preact Helmet",
141 | "url" : "https://github.com/download/preact-helmet"
142 | }, {
143 | "name" : "Preact Delegate",
144 | "url" : "https://github.com/NekR/preact-delegate"
145 | }, {
146 | "name" : "Preact No SSR",
147 | "url" : "https://github.com/gufsky/preact-no-ssr"
148 | }, {
149 | "name" : "Preact Head",
150 | "url" : "https://github.com/matthewmueller/preact-head"
151 | }, {
152 | "name" : "Preact Side Effect",
153 | "url" : "https://github.com/ooade/preact-side-effect"
154 | }, {
155 | "description" : " Preact Integration with Tiny Atom",
156 | "name" : "Preact Tiny Atom",
157 | "url" : "https://github.com/KwanMan/preact-tiny-atom"
158 | }, {
159 | "name" : "Preact Level List",
160 | "url" : "https://github.com/juliangruber/preact-level-list"
161 | }, {
162 | "name" : "Preact Country Picker",
163 | "url" : "https://github.com/bboydflo/flagstrap-preact"
164 | }, {
165 | "name" : "Preact Fluid",
166 | "url" : "https://github.com/ajainvivek/preact-fluid"
167 | } ]
168 | }, {
169 | "category" : "Libraries",
170 | "items" : [ {
171 | "name" : "Redux Zero",
172 | "url" : "https://github.com/concretesolutions/redux-zero"
173 | }, {
174 | "name" : "FPreact",
175 | "url" : "https://github.com/UnwrittenFun/fpreact"
176 | } ]
177 | }, {
178 | "category" : "Testing Utils",
179 | "items" : [ {
180 | "name" : "Preact JSX Chai",
181 | "url" : "https://git.io/preact-jsx-chai"
182 | }, {
183 | "name" : "Preact Render Spy",
184 | "url" : "https://github.com/mzgoddard/preact-render-spy"
185 | }, {
186 | "name" : "Preact Test Utils",
187 | "url" : "https://github.com/windyGex/preact-test-utils"
188 | } ]
189 | }, {
190 | "category" : "Articles",
191 | "items" : [ {
192 | "name" : "WTF is JSX",
193 | "url" : "https://jasonformat.com/wtf-is-jsx/"
194 | }, {
195 | "name" : "The Inner Workings of Virtual DOM",
196 | "url" : "https://medium.com/@rajaraodv/the-inner-workings-of-virtual-dom-666ee7ad47cf"
197 | }, {
198 | "name" : "Using Preact Instead of React",
199 | "url" : "https://medium.com/@rajaraodv/using-preact-instead-of-react-70f40f53107c"
200 | }, {
201 | "name" : "Preact Internals #1: The Easy Parts",
202 | "url" : "https://medium.com/@asolove/preact-internals-1-the-easy-parts-3a081fa36205#.twnc3doig"
203 | }, {
204 | "name" : "Preact Internals #2: The Component Model",
205 | "url" : "https://medium.com/@asolove/preact-internals-2-the-component-model-36a05e32957b#.8zyec2y9v"
206 | }, {
207 | "name" : "Building a Small PWA with Preact and Firebase",
208 | "url" : "https://dandenney.com/posts/front-end-dev/building-a-small-pwa-with-preact-and-firebase"
209 | }, {
210 | "name" : "Authentication with Auth0",
211 | "url" : "https://auth0.com/blog/preact-authentication-tutorial"
212 | } ]
213 | }, {
214 | "category" : "Example Apps",
215 | "items" : [ {
216 | "name" : "Preact HN",
217 | "url" : "https://github.com/kristoferbaxter/preact-hn"
218 | }, {
219 | "name" : "TodoMVC",
220 | "url" : "https://github.com/developit/preact-todomvc"
221 | }, {
222 | "name" : "Colors App",
223 | "url" : "https://github.com/lukeed/colors-app"
224 | }, {
225 | "name" : "Tracks",
226 | "url" : "https://github.com/jordic/tracks_preact/"
227 | }, {
228 | "name" : "Hueify",
229 | "url" : "https://github.com/kvartborg/hueify"
230 | } ]
231 | }, {
232 | "category" : "Related Libraries",
233 | "items" : [ {
234 | "name" : "React",
235 | "url" : "https://github.com/facebook/react"
236 | }, {
237 | "name" : "Inferno",
238 | "url" : "https://github.com/infernojs/inferno"
239 | }, {
240 | "name" : "Rax",
241 | "url" : "https://github.com/alibaba/rax"
242 | } ]
243 | }, {
244 | "category" : "Tips"
245 | }, {
246 | "category" : "Contribution"
247 | } ]
248 |
--------------------------------------------------------------------------------
/database/front-end-development/es6-tools.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Transpilers",
3 | "items" : [ {
4 | "description" : "Turn ES6+ code into vanilla ES5 with no runtime",
5 | "name" : "Babel",
6 | "url" : "https://github.com/babel/babel"
7 | }, {
8 | "description" : "ES6 features > ES5. Includes classes, generators, promises, destructuring patterns, default parameters & more.",
9 | "name" : "Traceur compiler",
10 | "url" : "https://github.com/google/traceur-compiler"
11 | }, {
12 | "description" : "Traceur compiler wrapped as a Browserify v2 transform",
13 | "name" : "es6ify",
14 | "url" : "https://github.com/thlorenz/es6ify"
15 | }, {
16 | "description" : "Babel transpiler wrapped as a Browserify transform",
17 | "name" : "Babelify",
18 | "url" : "https://github.com/babel/babelify"
19 | }, {
20 | "description" : "ES6 > ES5. Includes classes, destructuring, default parameters, spread",
21 | "name" : "es6-transpiler",
22 | "url" : "https://github.com/termi/es6-transpiler"
23 | }, {
24 | "description" : "ES6 modules to AMD or CJS",
25 | "name" : "es6-module-transpiler",
26 | "url" : "https://github.com/esnext/es6-module-transpiler"
27 | }, {
28 | "description" : "transform ES6 yield/generator functions to ES5",
29 | "name" : "regenerator",
30 | "url" : "https://github.com/facebook/regenerator"
31 | }, {
32 | "description" : "A simple utility for pluggable JS syntax transforms. Comes with a small set of ES6 -> ES5 transforms",
33 | "name" : "jstransform",
34 | "url" : "https://github.com/facebookarchive/jstransform"
35 | }, {
36 | "description" : "ES6 block-scoped const and let variables to ES3 vars",
37 | "name" : "defs",
38 | "url" : "https://github.com/olov/defs"
39 | }, {
40 | "description" : "ES6 Modules in the Rails Asset Pipeline",
41 | "name" : "es6_module_transpiler-rails",
42 | "url" : "https://github.com/DavyJonesLocker/es6_module_transpiler-rails"
43 | }, {
44 | "name" : "Some Sweet.js macros",
45 | "url" : "https://github.com/jlongster/es6-macros"
46 | }, {
47 | "description" : "Converts ES6 to AMD, CJS, and StealJS.",
48 | "name" : "transpile",
49 | "url" : "https://github.com/stealjs/transpile"
50 | }, {
51 | "name" : "regexpu",
52 | "url" : "https://github.com/mathiasbynens/regexpu"
53 | }, {
54 | "description" : "Transformations for ES5 code to ES6 (approximates)",
55 | "name" : "Lebab",
56 | "url" : "https://github.com/mohebifar/lebab"
57 | } ]
58 | }, null, {
59 | "category" : "Gulp Plugins",
60 | "items" : [ {
61 | "name" : "gulp-babel",
62 | "url" : "https://github.com/babel/gulp-babel"
63 | }, {
64 | "name" : "gulp-traceur",
65 | "url" : "https://github.com/sindresorhus/gulp-traceur"
66 | }, {
67 | "name" : "gulp-regenerator",
68 | "url" : "https://github.com/sindresorhus/gulp-regenerator"
69 | }, {
70 | "name" : "gulp-es6-module-transpiler",
71 | "url" : "https://github.com/ryanseddon/gulp-es6-module-transpiler"
72 | }, {
73 | "description" : "ES6 → ES5",
74 | "name" : "gulp-es6-transpiler",
75 | "url" : "https://github.com/sindresorhus/gulp-es6-transpiler"
76 | }, {
77 | "description" : "ES6 → ES5 using FB's jstransform",
78 | "name" : "Gulp-jstransform",
79 | "url" : "https://github.com/hemanth/gulp-jstransform"
80 | }, {
81 | "name" : "gulp-regexpu",
82 | "url" : "https://github.com/mathiasbynens/gulp-regexpu"
83 | }, {
84 | "name" : "gulp-typescript",
85 | "url" : "https://github.com/ivogabe/gulp-typescript"
86 | } ]
87 | }, {
88 | "category" : "Grunt Tasks",
89 | "items" : [ {
90 | "description" : "Turn ES6+ code into vanilla ES5 with no runtime",
91 | "name" : "grunt-babel",
92 | "url" : "https://github.com/babel/grunt-babel"
93 | }, {
94 | "name" : "Grunt-traceur",
95 | "url" : "https://github.com/aaronfrost/grunt-traceur"
96 | }, {
97 | "name" : "grunt-es6-module-transpiler",
98 | "url" : "https://github.com/joefiorini/grunt-es6-module-transpiler"
99 | }, {
100 | "description" : "ES6 generator functions to ES5",
101 | "name" : "grunt-regenerator",
102 | "url" : "https://github.com/sindresorhus/grunt-regenerator"
103 | }, {
104 | "name" : "grunt-microlib",
105 | "url" : "https://github.com/thomasboyt/grunt-microlib",
106 | "description":"Tools for libs using ES6 module transpiler"
107 | }, {
108 | "description" : "ES6 block scoped const and let variables, to ES3",
109 | "name" : "grunt-defs",
110 | "url" : "https://github.com/EE/grunt-defs"
111 | }, {
112 | "description" : "ES6 → ES5",
113 | "name" : "grunt-es6-transpiler",
114 | "url" : "https://github.com/sindresorhus/grunt-es6-transpiler"
115 | }, {
116 | "description" : "ES6+ > ES5/ES3 transpilation",
117 | "name" : "grunt-ts",
118 | "url" : "https://github.com/TypeStrong/grunt-ts"
119 | } ]
120 | }, {
121 | "category" : "Broccoli Plugins",
122 | "items" : [ {
123 | "name" : "broccoli-babel-transpiler",
124 | "url" : "https://github.com/babel/broccoli-babel-transpiler"
125 | }, {
126 | "name" : "broccoli-traceur",
127 | "url" : "https://github.com/sindresorhus/broccoli-traceur"
128 | }, {
129 | "name" : "broccoli-regenerator",
130 | "url" : "https://github.com/sindresorhus/broccoli-regenerator"
131 | }, {
132 | "name" : "broccoli-transpiler",
133 | "url" : "https://github.com/sindresorhus/broccoli-es6-transpiler"
134 | }, {
135 | "name" : "broccoli-es6-module-transpiler",
136 | "url" : "https://github.com/mmun/broccoli-es6-module-transpiler"
137 | }, {
138 | "name" : "broccoli-es6-arrow",
139 | "url" : "https://github.com/hemanth/broccoli-es6-arrow.git"
140 | }, {
141 | "name" : "broccoli-tsc",
142 | "url" : "https://github.com/ngParty/broccoli-tsc"
143 | } ]
144 | }, {
145 | "category" : "Brunch Plugins",
146 | "items" : [ {
147 | "name" : "babel-brunch",
148 | "url" : "https://github.com/babel/babel-brunch"
149 | }, {
150 | "name" : "es6-module-transpiler-brunch",
151 | "url" : "https://github.com/gcollazo/es6-module-transpiler-brunch"
152 | }, {
153 | "name" : "typescript-brunch",
154 | "url" : "https://github.com/joshheyse/typescript-brunch"
155 | } ]
156 | }, {
157 | "category" : "Webpack plugins",
158 | "items" : [ {
159 | "name" : "babel-loader",
160 | "url" : "https://github.com/babel/babel-loader"
161 | }, {
162 | "name" : "traceur-compiler-loader",
163 | "url" : "https://github.com/gdi2290/traceur-compiler-loader"
164 | }, {
165 | "name" : "awesome-typescript-loader",
166 | "url" : "https://github.com/s-panferov/awesome-typescript-loader"
167 | } ]
168 | }, {
169 | "category" : "Duo plugins",
170 | "items" : [ {
171 | "name" : "duo-babel",
172 | "url" : "https://github.com/babel/duo-babel"
173 | }, {
174 | "name" : "duo-typescript",
175 | "url" : "https://github.com/frankwallis/duo-typescript"
176 | } ]
177 | }, {
178 | "category" : "Connect plugins",
179 | "items" : [ {
180 | "name" : "babel-connect",
181 | "url" : "https://github.com/babel/babel-connect"
182 | }, {
183 | "name" : "typescript-middleware",
184 | "url" : "https://github.com/brn/typescript-middleware"
185 | } ]
186 | }, {
187 | "category" : "Gobble plugins",
188 | "items" : [ {
189 | "name" : "gobble-babel",
190 | "url" : "https://github.com/babel/gobble-babel"
191 | }, {
192 | "name" : "gobble-es6-transpiler",
193 | "url" : "https://github.com/gobblejs/gobble-es6-transpiler"
194 | } ]
195 | }, {
196 | "category" : "Jade plugins",
197 | "items" : [ {
198 | "name" : "jade-babel",
199 | "url" : "https://github.com/babel/jade-babel"
200 | }, {
201 | "name" : "jade-traceur",
202 | "url" : "https://www.npmjs.com/package/jade-traceur"
203 | } ]
204 | }, {
205 | "category" : "Jest plugins",
206 | "items" : [ {
207 | "name" : "babel-jest",
208 | "url" : "https://github.com/babel/babel-jest"
209 | } ]
210 | }, {
211 | "category" : "Karma plugins",
212 | "items" : [ {
213 | "name" : "karma-babel-preprocessor",
214 | "url" : "https://github.com/babel/karma-babel-preprocessor"
215 | }, {
216 | "name" : "karma-traceur-preprocessor",
217 | "url" : "https://github.com/karma-runner/karma-traceur-preprocessor"
218 | }, {
219 | "name" : "karma-typescript-preprocessor",
220 | "url" : "https://github.com/sergeyt/karma-typescript-preprocessor"
221 | } ]
222 | }, {
223 | "category" : "Sprockets plugins",
224 | "items" : [ {
225 | "name" : "sprockets-es6",
226 | "url" : "https://github.com/josh/sprockets-es6"
227 | }, {
228 | "name" : "sprockets-traceur",
229 | "url" : "https://github.com/gunpowderlabs/sprockets-traceur"
230 | }, {
231 | "name" : "typescript-rails",
232 | "url" : "https://github.com/typescript-ruby/typescript-rails"
233 | } ]
234 | }, {
235 | "category" : "Browser plugins",
236 | "items" : [ {
237 | "description" : "A Chrome/Opera DevTools extension to run ES6 on a page with either Babel or Traceur",
238 | "name" : "Scratch JS",
239 | "url" : "https://github.com/richgilbank/Scratch-JS"
240 | }, {
241 | "description" : "Yeoman generator for TypeScript apps",
242 | "name" : "generator-typescript",
243 | "url" : "https://github.com/mrkev/generator-typescript"
244 | } ]
245 | }, {
246 | "category" : "Mocha plugins",
247 | "items" : [ {
248 | "description" : "A simple plugin for Mocha to pass JS files through the Traceur compiler",
249 | "name" : "Mocha Traceur",
250 | "url" : "https://github.com/domenic/mocha-traceur"
251 | } ]
252 | }, {
253 | "category" : "Module Loaders",
254 | "items" : [ {
255 | "name" : "Module Loader polyfill",
256 | "url" : "https://github.com/ModuleLoader/es6-module-loader"
257 | }, {
258 | "description" : "Mozilla's spec-compliant loader prototype",
259 | "name" : "js-loaders",
260 | "url" : "https://github.com/jorendorff/js-loaders"
261 | }, {
262 | "description" : "ES6, AMD, CJS module loading/package management",
263 | "name" : "JSPM",
264 | "url" : "http://jspm.io/"
265 | }, {
266 | "name" : "Babel Module Loader",
267 | "url" : "https://github.com/babel/babel-loader"
268 | }, {
269 | "description" : "toolkit for ES6 Module Loader pipelines, shim for legacy environments",
270 | "name" : "beck.js",
271 | "url" : "https://github.com/unscriptable/beck"
272 | } ]
273 | }, {
274 | "category" : "Boilerplates",
275 | "items" : [ {
276 | "description" : "Tooling to allow the community to use es6 now via traceur in conjunction with amd and browser global modules, with source maps, concatenation, minification, compression, and unit testing in real browsers.",
277 | "name" : "es6-boilerplate",
278 | "url" : "https://github.com/davidjnelson/es6-boilerplate"
279 | }, {
280 | "description" : "Tooling to allow the community to use es6 now via babel in conjunction jspm, with source maps, concatenation, minification, compression, and unit testing in real browsers using es6.",
281 | "name" : "es6-jspm-gulp-boilerplate",
282 | "url" : "https://github.com/alexweber/es6-jspm-gulp-boilerplate"
283 | } ]
284 | }, {
285 | "category" : "Code generation",
286 | "items" : [ {
287 | "description" : "Yeoman generator for Traceur apps",
288 | "name" : "generator-node-esnext",
289 | "url" : "https://github.com/briandipalma/generator-node-esnext"
290 | }, {
291 | "description" : "Yeoman generator for Babel apps",
292 | "name" : "generator-es6-babel",
293 | "url" : "https://github.com/HenriqueLimas/generator-es6-babel"
294 | }, {
295 | "description" : "Yeoman generator for Babel, Browserify and Gulp",
296 | "name" : "Generator-gulp-babelify",
297 | "url" : "https://github.com/HenriqueLimas/generator-gulp-babelify"
298 | }, {
299 | "description" : "scaffold node modules with unit tests, authored in ES6",
300 | "name" : "grunt-init-es6",
301 | "url" : "https://www.npmjs.com/package/grunt-init-es6"
302 | }, {
303 | "name" : "Loom generators with ES6 ember modules",
304 | "url" : "https://github.com/ryanflorence/loom-generators-ember"
305 | }, {
306 | "name" : "plugin",
307 | "url" : "https://www.npmjs.com/package/es6-module-transpiler-brunch"
308 | } ]
309 | }, {
310 | "category" : "Polyfills",
311 | "items" : [ {
312 | "description" : "Modular and compact polyfills for ES6 including Symbols, Map, Set, Iterators, Promises, setImmediate, Array generics, etc. The standard library used by Babel.",
313 | "name" : "core-js",
314 | "url" : "https://github.com/zloirock/core-js"
315 | }, {
316 | "description" : "almost all new ES6 methods — from Map, Set, String, Array, Object, Object.is and more.",
317 | "name" : "es6-shim",
318 | "url" : "https://github.com/paulmillr/es6-shim"
319 | }, {
320 | "name" : "WeakMap, Map, Set, HashMap - ES6 Collections",
321 | "url" : "https://github.com/Benvie/harmony-collections"
322 | }, {
323 | "name" : "WeakMap shim",
324 | "url" : "https://github.com/Polymer/WeakMap"
325 | }, {
326 | "name" : "String.prototype.startsWith",
327 | "url" : "https://github.com/mathiasbynens/String.prototype.startsWith"
328 | }, {
329 | "name" : "String.prototype.endsWith",
330 | "url" : "https://github.com/mathiasbynens/String.prototype.endsWith"
331 | }, {
332 | "name" : "String.prototype.at",
333 | "url" : "https://github.com/mathiasbynens/String.prototype.at"
334 | }, {
335 | "name" : "String.prototype.repeat",
336 | "url" : "https://github.com/mathiasbynens/String.prototype.repeat"
337 | }, {
338 | "name" : "String.prototype.includes",
339 | "url" : "https://github.com/mathiasbynens/String.prototype.includes"
340 | }, {
341 | "name" : "String.prototype.codePointAt",
342 | "url" : "https://github.com/mathiasbynens/String.prototype.codePointAt"
343 | }, {
344 | "name" : "String.fromCodePoint",
345 | "url" : "https://github.com/mathiasbynens/String.fromCodePoint"
346 | }, {
347 | "name" : "Array.prototype.find",
348 | "url" : "https://github.com/paulmillr/Array.prototype.find"
349 | }, {
350 | "name" : "Array.prototype.findIndex",
351 | "url" : "https://github.com/paulmillr/Array.prototype.findIndex"
352 | }, {
353 | "name" : "Array.from",
354 | "url" : "https://github.com/mathiasbynens/Array.from"
355 | }, {
356 | "name" : "Array.of",
357 | "url" : "https://github.com/mathiasbynens/Array.of"
358 | }, {
359 | "name" : "Object.assign",
360 | "url" : "https://github.com/sindresorhus/object-assign"
361 | }, {
362 | "name" : "Number.isFinite",
363 | "url" : "https://github.com/sindresorhus/is-finite"
364 | }, {
365 | "name" : "Math.sign",
366 | "url" : "https://github.com/sindresorhus/math-sign"
367 | }, {
368 | "name" : "RegExp.prototype.match",
369 | "url" : "https://github.com/mathiasbynens/RegExp.prototype.match"
370 | }, {
371 | "name" : "RegExp.prototype.search",
372 | "url" : "https://github.com/mathiasbynens/RegExp.prototype.search"
373 | }, {
374 | "description" : "polyfill for Promises matching the ES6 API",
375 | "name" : "es6-promise",
376 | "url" : "https://github.com/jakearchibald/es6-promise"
377 | }, {
378 | "description" : "destructive shim that follows the latest specification as closely as possible.",
379 | "name" : "ES6 Map Shim",
380 | "url" : "https://github.com/eriwen/es6-map-shim"
381 | }, {
382 | "name" : "Function.create",
383 | "url" : "https://github.com/walling/Function.create.js"
384 | }, {
385 | "name" : "ES6 shim",
386 | "url" : "https://github.com/inexorabletash/polyfill/blob/master/es6.md"
387 | }, {
388 | "name" : "ES6 Symbol polyfill",
389 | "url" : "https://github.com/medikoo/es6-symbol"
390 | }, {
391 | "name" : "ES6 Map, Set, WeakMap",
392 | "url" : "https://github.com/EliSnow/Blitz-Collections"
393 | }, {
394 | "description" : "ES6 reflection module",
395 | "name" : "Harmony-reflect",
396 | "url" : "https://github.com/tvcutsem/harmony-reflect"
397 | }, {
398 | "description" : " Array, Object, Number, Math and String functions/methods, plus Map, Set, Symbol and WeakMap objects",
399 | "name" : "ES5 based shims in pure CJS style",
400 | "url" : "https://gist.github.com/medikoo/102b7d0e697627133788#list-of-ecmascript-6-shims"
401 | } ]
402 | }, {
403 | "category" : "Editors",
404 | "items" : [ {
405 | "name" : "Sublime Text and TextMate",
406 | "url" : "https://github.com/Benvie/JavaScriptNext.tmLanguage"
407 | }, {
408 | "name" : "WebStorm and PhpStorm compilation to ES5",
409 | "url" : "https://www.jetbrains.com/webstorm/"
410 | }, {
411 | "name" : "plugin",
412 | "url" : "https://github.com/pflannery/docpad-plugin-traceur"
413 | }, {
414 | "name" : "Package for Atom",
415 | "url" : "https://github.com/gandm/language-babel"
416 | }, {
417 | "name" : "Read Blog Post",
418 | "url" : "http://blog.jetbrains.com/webstorm/2015/05/ecmascript-6-in-webstorm-transpiling/"
419 | } ]
420 | }, {
421 | "category" : "Parsers",
422 | "items" : [ {
423 | "description" : "JavaScript parser supporting ES6, parses to ESTree AST format",
424 | "name" : "Esprima",
425 | "url" : "http://esprima.org"
426 | }, {
427 | "description" : "A small, fast, JavaScript-based JavaScript parser with ES6 support, parses to SpiderMonkey AST format.",
428 | "name" : "Acorn",
429 | "url" : "https://github.com/ternjs/acorn"
430 | }, {
431 | "description" : "ES6 parser written in ES6.",
432 | "name" : "esparse",
433 | "url" : "https://github.com/zenparsing/esparse"
434 | }, {
435 | "name" : "Traceur compiler",
436 | "url" : "https://github.com/google/traceur-compiler"
437 | } ]
438 | }, {
439 | "category" : "Other",
440 | "items" : [ {
441 | "description" : "real-world usage examples of ES6 features",
442 | "name" : "ES.next showcase",
443 | "url" : "https://github.com/sindresorhus/esnext-showcase"
444 | }, {
445 | "description" : "static analysis tools for ES6",
446 | "name" : "looper",
447 | "url" : "https://github.com/wycats/looper"
448 | }, {
449 | "name" : "es6-module-packager",
450 | "url" : "https://www.npmjs.com/package/es6-module-packager"
451 | }, {
452 | "description" : "Generate a list of imports and exports from ES6 module files, useful for preloading, bundling, etc.",
453 | "name" : "Es-dependency-graph",
454 | "url" : "https://github.com/yahoo/es-dependency-graph"
455 | }, {
456 | "description" : "Validate matching named/default import statements in ES6 modules.",
457 | "name" : "es6-import-validate",
458 | "url" : "https://github.com/sproutsocial/es6-import-validate"
459 | }, {
460 | "description" : "transpiles let-block block (not accepted into ES6) into either ES3 or ES6",
461 | "name" : "let-er",
462 | "url" : "https://github.com/getify/let-er"
463 | }, {
464 | "description" : "Esprima-based JavaScript syntax tree transformer, conservative pretty-printer, and automatic source map generator. Used by several of the transpilers listed above, including regenerator and es6-arrow-function.",
465 | "name" : "Recast",
466 | "url" : "https://github.com/benjamn/recast"
467 | }, {
468 | "description" : " Minimalist examples of ES6 functionalities.",
469 | "name" : "Paws on ES6",
470 | "url" : "https://github.com/hemanth/paws-on-es6"
471 | }, {
472 | "description" : "How to use ES6 features in node.js.",
473 | "name" : "ES6 on node",
474 | "url" : "http://h3manth.com/new/blog/2013/es6-on-nodejs/"
475 | }, {
476 | "description" : "Uses the ES6 loader hooks to load (node flavored) commonjs packages in ES6.",
477 | "name" : "es6-translate",
478 | "url" : "https://github.com/calvinmetcalf/es6-translate"
479 | }, {
480 | "name" : "Isparta",
481 | "url" : "https://github.com/douglasduteil/isparta"
482 | }, {
483 | "description" : "Run node cli with ES6 transpiling using Babel.",
484 | "name" : "babel-node",
485 | "url" : "https://babeljs.io/docs/usage/cli/#babel-node"
486 | }, {
487 | "description" : "A simple setup for transpiling ES6 to ES5 using Babel or traceur with gulp and jasmine support.",
488 | "name" : "ES6 Lab setup",
489 | "url" : "https://github.com/hemanth/es6-lab-setup"
490 | }, {
491 | "description" : "A superset of ECMAScript with strict typing that aims to align with ES6",
492 | "name" : "TypeScript",
493 | "url" : "http://www.typescriptlang.org/"
494 | }, {
495 | "description" : "Rollup is a next-generation JavaScript module bundler. Author your app or library using ES2015 modules, then efficiently bundle them up into a single file for use in browsers and Node.js",
496 | "name" : "Rollup",
497 | "url" : "http://rollupjs.org/"
498 | } ]
499 | } ]
500 |
--------------------------------------------------------------------------------
/database/js-language/functional-programming.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : " Data Structures",
3 | "items" : [ {
4 | "name" : "Icepick",
5 | "url" : "https://github.com/aearly/icepick"
6 | }, {
7 | "name" : "Immutable.js",
8 | "url" : "https://github.com/facebook/immutable-js"
9 | }, {
10 | "name" : "Mori",
11 | "url" : "https://github.com/swannodette/mori"
12 | }, {
13 | "name" : "Baobab",
14 | "url" : "https://github.com/Yomguithereal/baobab"
15 | }, {
16 | "name" : "immutable-sequence.js",
17 | "url" : "https://github.com/qiao/immutable-sequence.js"
18 | }, {
19 | "name" : "Timm",
20 | "url" : "http://guigrpa.github.io/timm/"
21 | }, {
22 | "name" : "Lazy.js",
23 | "url" : "https://github.com/dtao/lazy.js"
24 | }, {
25 | "name" : "DerivableJS",
26 | "url" : "https://github.com/ds300/derivablejs"
27 | }, {
28 | "name" : "imlazy",
29 | "url" : "https://github.com/benji6/imlazy"
30 | }, {
31 | "name" : "collectable",
32 | "url" : "https://github.com/frptools/collectable"
33 | } ]
34 | }, {
35 | "category" : " Algebraic Data Types",
36 | "items" : [ {
37 | "name" : "Fantasy Land",
38 | "url" : "https://github.com/fantasyland/fantasy-land"
39 | }, {
40 | "name" : "Static Land",
41 | "url" : "https://github.com/rpominov/static-land"
42 | }, {
43 | "name" : "immutable-ext",
44 | "url" : "https://github.com/DrBoolean/immutable-ext"
45 | }, {
46 | "name" : "daggy",
47 | "url" : "https://github.com/puffnfresh/daggy"
48 | }, {
49 | "name" : "Sanctuary",
50 | "url" : "https://github.com/plaid/sanctuary"
51 | }, {
52 | "name" : "monet.js",
53 | "url" : "http://cwmyers.github.io/monet.js/"
54 | }, {
55 | "name" : "union-type",
56 | "url" : "https://github.com/paldepind/union-type"
57 | }, {
58 | "name" : "freeky",
59 | "url" : "https://github.com/DrBoolean/freeky"
60 | }, {
61 | "name" : "Fluture",
62 | "url" : "https://github.com/Avaq/Fluture"
63 | }, {
64 | "name" : "fantasy-combinators",
65 | "url" : "https://github.com/fantasyland/fantasy-combinators"
66 | }, {
67 | "name" : "fantasy-birds",
68 | "url" : "https://github.com/fantasyland/fantasy-birds"
69 | }, {
70 | "name" : "crocks",
71 | "url" : "https://github.com/evilsoft/crocks"
72 | } ]
73 | }, {
74 | "category" : " Lenses",
75 | "items" : [ {
76 | "name" : "lenses",
77 | "url" : "https://github.com/DrBoolean/lenses"
78 | }, {
79 | "name" : "optics",
80 | "url" : "https://github.com/flunc/optics"
81 | }, {
82 | "name" : "ramda-lens",
83 | "url" : "https://github.com/ramda/ramda-lens"
84 | }, {
85 | "name" : "fantasy-lenses",
86 | "url" : "https://github.com/fantasyland/fantasy-lenses"
87 | }, {
88 | "name" : "nanoscope",
89 | "url" : "https://github.com/5outh/nanoscope"
90 | }, {
91 | "name" : "partial.lenses",
92 | "url" : "https://github.com/calmm-js/partial.lenses"
93 | }, {
94 | "name" : "ClojureScript",
95 | "url" : "https://github.com/clojure/clojurescript"
96 | }, {
97 | "name" : "Elm",
98 | "url" : "http://elm-lang.org/"
99 | }, {
100 | "description" : " Compiles F#",
101 | "name" : "Fable",
102 | "url" : "http://fable.io/"
103 | }, {
104 | "name" : "PureScript",
105 | "url" : "http://www.purescript.org/"
106 | }, {
107 | "name" : "Idris",
108 | "url" : "http://www.idris-lang.org/"
109 | }, {
110 | "name" : "GHCJS",
111 | "url" : "https://github.com/ghcjs/ghcjs"
112 | }, {
113 | "name" : "ElixirScript",
114 | "url" : "https://github.com/bryanjos/elixirscript"
115 | }, {
116 | "name" : "Js\\_of\\_ocaml",
117 | "url" : "http://ocsigen.org/js_of_ocaml/"
118 | }, {
119 | "name" : "BuckleScript",
120 | "url" : "https://bloomberg.github.io/bucklescript/"
121 | }, {
122 | "name" : "Reason",
123 | "url" : "http://facebook.github.io/reason/"
124 | }, {
125 | "name" : "Scala.js",
126 | "url" : "http://www.scala-js.org/"
127 | }, {
128 | "name" : "LiveScript",
129 | "url" : "http://gkz.github.io/LiveScript/"
130 | }, {
131 | "name" : "Quack",
132 | "url" : "https://github.com/quack/quack"
133 | }, {
134 | "name" : "ion",
135 | "url" : "https://github.com/ion-lang/ion"
136 | }, {
137 | "name" : "RamdaScript",
138 | "url" : "https://github.com/yosbelms/ramdascript"
139 | }, {
140 | "name" : "eslint-plugin-fp",
141 | "url" : "https://github.com/jfmengels/eslint-plugin-fp"
142 | }, {
143 | "name" : "eslint-config-cleanjs",
144 | "url" : "https://github.com/bodil/eslint-config-cleanjs"
145 | }, {
146 | "name" : "4.5",
147 | "url" : "https://github.com/TylorS/4.5"
148 | }, {
149 | "name" : "hm-def",
150 | "url" : "https://github.com/xodio/hm-def"
151 | } ]
152 | }, {
153 | "category" : " Books",
154 | "items" : [ {
155 | "name" : "Professor Frisby’s Mostly Adequate Guide to Functional Programming",
156 | "url" : "https://github.com/MostlyAdequate/mostly-adequate-guide"
157 | }, {
158 | "name" : "Functional-Light JavaScript",
159 | "url" : "https://github.com/getify/functional-light-js"
160 | }, {
161 | "name" : "JavaScript Allongé",
162 | "url" : "https://leanpub.com/javascriptallongesix"
163 | }, {
164 | "name" : "Functional Programming in JavaScript",
165 | "url" : "https://www.manning.com/books/functional-programming-in-javascript"
166 | }, {
167 | "name" : "Eloquent JavaScript",
168 | "url" : "http://eloquentjavascript.net/"
169 | }, {
170 | "name" : "Functional JavaScript",
171 | "url" : "http://shop.oreilly.com/product/0636920028857.do"
172 | } ]
173 | }, {
174 | "category" : " Articles",
175 | "items" : [ {
176 | "name" : "FP Concepts in JavaScript",
177 | "url" : "https://medium.com/@collardeau/intro-to-functional-programming-concepts-in-javascript-b0650773139c"
178 | }, {
179 | "name" : "Functional programming with JavaScript",
180 | "url" : "http://stephen-young.me.uk/2013/01/20/functional-programming-with-javascript.html"
181 | }, {
182 | "name" : "A gentle introduction to functional JavaScript",
183 | "url" : "http://jrsinclair.com/articles/2016/gentle-introduction-to-functional-javascript-intro/"
184 | }, {
185 | "name" : "Why Curry Helps",
186 | "url" : "https://hughfdjackson.com/javascript/why-curry-helps/"
187 | }, {
188 | "name" : "Favoring Curry",
189 | "url" : "http://fr.umio.us/favoring-curry/"
190 | }, {
191 | "name" : "Functional Mumbo Jumbo – ADTs",
192 | "url" : "http://blog.jenkster.com/2016/06/functional-mumbo-jumbo-adts.html"
193 | }, {
194 | "name" : "JavaScript and Type Thinking",
195 | "url" : "https://medium.com/@yelouafi/javascript-and-type-thinking-735edddc388d"
196 | }, {
197 | "name" : "Lazy, composable, and modular JavaScript",
198 | "url" : "https://codewords.recurse.com/issues/four/lazy-composable-and-modular-javascript"
199 | }, {
200 | "name" : "Why Ramda",
201 | "url" : "http://fr.umio.us/why-ramda/"
202 | }, {
203 | "name" : "Monads in JavaScript",
204 | "url" : "https://curiosity-driven.org/monads-in-javascript"
205 | }, {
206 | "name" : "A Monad in Practicality: First-Class Failures",
207 | "url" : "http://robotlolita.me/2013/12/08/a-monad-in-practicality-first-class-failures.html"
208 | }, {
209 | "name" : "Functional programming",
210 | "url" : "https://glebbahmutov.com/blog/tags/functional/"
211 | }, {
212 | "name" : "Functional Programming Jargon",
213 | "url" : "https://github.com/hemanth/functional-programming-jargon"
214 | }, {
215 | "name" : "Data Structures in JavaScript",
216 | "url" : "http://blog.benoitvallon.com/data-structures-in-javascript/data-structures-in-javascript/"
217 | }, {
218 | "name" : "So You Want to be a Functional Programmer",
219 | "url" : "https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536"
220 | }, {
221 | "name" : "Functional Programming for JavaScript People",
222 | "url" : "https://medium.com/@chetcorcos/functional-programming-for-javascript-people-1915d8775504"
223 | }, {
224 | "name" : "Introduction to Immutable.js and Functional Programming Concepts",
225 | "url" : "https://auth0.com/blog/intro-to-immutable-js/"
226 | }, {
227 | "name" : "Master the JavaScript Interview: What is Functional Programming?",
228 | "url" : "https://medium.com/javascript-scene/master-the-javascript-interview-what-is-functional-programming-7f218c68b3a0"
229 | }, {
230 | "name" : "Composing Software",
231 | "url" : "https://medium.com/javascript-scene/the-rise-and-fall-and-rise-of-functional-programming-composable-software-c2d91b424c8c"
232 | } ]
233 | }, {
234 | "category" : " Videos",
235 | "items" : [ {
236 | "name" : "Classroom Coding with Prof. Frisby",
237 | "url" : "https://www.youtube.com/watch?v=h_tkIpwbsxY&list=PLK_hdtAJ4KqX0JOs_KMAmUNTNMRYhWEaC"
238 | }, {
239 | "name" : "Hey Underscore, You're Doing It Wrong!",
240 | "url" : "https://www.youtube.com/watch?v=m3svKOdZijA"
241 | }, {
242 | "name" : "Functional programming patterns for the non-mathematician",
243 | "url" : "https://www.youtube.com/watch?v=AvgwKjTPMmM"
244 | }, {
245 | "name" : "Pure JavaScript",
246 | "url" : "https://vimeo.com/49384334"
247 | }, {
248 | "name" : "Functional programming in JavaScript",
249 | "url" : "https://www.youtube.com/playlist?list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84"
250 | }, {
251 | "description" : " JSUnconf 2016",
252 | "name" : "Anjana Vakil: Learning Functional Programming with JavaScript",
253 | "url" : "https://www.youtube.com/watch?v=e-5obm1G_FY"
254 | }, {
255 | "name" : "Functional Programming Basics In ES6",
256 | "url" : "https://www.youtube.com/watch?v=FYXpOjwYzcs"
257 | } ]
258 | }, {
259 | "category" : " Examples and Exercises",
260 | "items" : [ {
261 | "name" : "FPJS-Class",
262 | "url" : "https://github.com/loop-recur/FPJS-Class"
263 | }, {
264 | "name" : "functional-javascript-workshop",
265 | "url" : "https://github.com/timoxley/functional-javascript-workshop"
266 | }, {
267 | "name" : "functional-frontend-architecture",
268 | "url" : "https://github.com/paldepind/functional-frontend-architecture"
269 | }, {
270 | "name" : "cube-composer",
271 | "url" : "https://github.com/sharkdp/cube-composer"
272 | }, {
273 | "name" : "FP Youtube Search",
274 | "url" : "https://github.com/jaysoo/example-fp-youtube-search"
275 | }, {
276 | "name" : "Hardcore Functional Programming in JavaScript",
277 | "url" : "https://frontendmasters.com/courses/functional-javascript/"
278 | }, {
279 | "name" : "Escape from Callback Mountain",
280 | "url" : "https://github.com/justsml/escape-from-callback-mountain"
281 | }, {
282 | "name" : "Functional Programming for Beginners",
283 | "url" : "http://paqmind.com/courses/fp-beginner/"
284 | }, {
285 | "name" : "Learn Rx",
286 | "url" : "http://reactivex.io/learnrx/"
287 | } ]
288 | }, {
289 | "category" : " Related Lists",
290 | "items" : [ {
291 | "name" : "Awesome FRP JS",
292 | "url" : "https://github.com/stoeffel/awesome-frp-js"
293 | }, {
294 | "name" : "lucasviola/Awesome Functional Programming",
295 | "url" : "https://github.com/lucasviola/awesome-functional-programming"
296 | }, {
297 | "name" : "xgrommx/Awesome Functional Programming",
298 | "url" : "https://github.com/xgrommx/awesome-functional-programming"
299 | }, {
300 | "name" : "Functional Programming Resources In JavaScript",
301 | "url" : "https://github.com/busypeoples/functional-programming-javascript"
302 | } ]
303 | }, {
304 | "category" : " Talk",
305 | "items" : [ {
306 | "name" : "Functional Programming Slack channel",
307 | "url" : "https://fpchat-invite.herokuapp.com/"
308 | }, {
309 | "name" : "Christoph Hermann",
310 | "url" : "http://stoeffel.github.io/"
311 | } ]
312 | } ]
313 |
--------------------------------------------------------------------------------
/database/js-language/learning-javascript.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Contents"
3 | }, {
4 | "category" : "JavaScript References",
5 | "items" : [ {
6 | "name" : "MDN",
7 | "url" : "https://developer.mozilla.org/docs/Web/JavaScript/Reference"
8 | }, {
9 | "name" : "DevDocs",
10 | "url" : "http://devdocs.io/javascript"
11 | }, {
12 | "name" : "Simplified JavaScript Jargon",
13 | "url" : "http://jargon.js.org"
14 | }, {
15 | "name" : "Functional Programming Jargon",
16 | "url" : "https://functional.works-hub.com/blog/Functional-Programming-Jargon"
17 | }, {
18 | "name" : "Modern JavaScript Cheatsheet",
19 | "url" : "https://github.com/mbeaudru/modern-js-cheatsheet"
20 | }, {
21 | "name" : "ECMAScript® Language Specification",
22 | "url" : "http://ecma-international.org/publications/standards/Ecma-262.htm"
23 | } ]
24 | }, {
25 | "category" : "Tutorials",
26 | "items" : [ {
27 | "name" : "MDN JavaScript Guide",
28 | "url" : "https://developer.mozilla.org/docs/Web/JavaScript/Guide"
29 | }, {
30 | "name" : "JavaScript.info",
31 | "url" : "http://javascript.info"
32 | }, {
33 | "name" : "JavaScript Closures Demystified",
34 | "url" : "https://www.sitepoint.com/javascript-closures-demystified/"
35 | }, {
36 | "name" : "Promises",
37 | "url" : "http://www.sohamkamani.com/blog/2016/08/28/incremenal-tutorial-to-promises/"
38 | }, {
39 | "name" : "Array operations",
40 | "url" : "https://danmartensen.svbtle.com/javascripts-map-reduce-and-filter"
41 | }, {
42 | "name" : "Async functions",
43 | "url" : "https://developers.google.com/web/fundamentals/getting-started/primers/async-functions"
44 | }, {
45 | "name" : "Chrome DevTools",
46 | "url" : "https://developers.google.com/web/tools/chrome-devtools/"
47 | }, {
48 | "name" : "Pure functions",
49 | "url" : "https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-pure-function-d1c076bec976"
50 | }, {
51 | "name" : "Glossary of Modern JavaScript Concepts: Part 1",
52 | "url" : "https://auth0.com/blog/glossary-of-modern-javascript-concepts/"
53 | } ]
54 | }, {
55 | "category" : "Free eBooks",
56 | "items" : [ {
57 | "name" : "Eloquent JavaScript",
58 | "url" : "http://eloquentjavascript.net"
59 | }, {
60 | "name" : "You Don't Know JS (book series)",
61 | "url" : "https://github.com/getify/You-Dont-Know-JS"
62 | }, {
63 | "name" : "Speaking JavaScript",
64 | "url" : "http://speakingjs.com"
65 | }, {
66 | "name" : "JavaScript Design Patterns",
67 | "url" : "http://addyosmani.com/resources/essentialjsdesignpatterns/book/"
68 | } ]
69 | }, {
70 | "category" : "Books",
71 | "items" : [ {
72 | "name" : "JavaScript: The Good Parts",
73 | "url" : "http://shop.oreilly.com/product/9780596517748.do"
74 | }, {
75 | "name" : "The Principles of Object-Oriented JavaScript",
76 | "url" : "https://www.nostarch.com/oojs"
77 | }, {
78 | "name" : "JavaScript Enlightenment",
79 | "url" : "http://shop.oreilly.com/product/0636920027713.do"
80 | } ]
81 | }, {
82 | "category" : "Blogs",
83 | "items" : [ {
84 | "name" : "②ality",
85 | "url" : "http://www.2ality.com"
86 | }, {
87 | "name" : "Pony Foo",
88 | "url" : "https://ponyfoo.com"
89 | } ]
90 | }, {
91 | "category" : "Videos",
92 | "items" : [ {
93 | "name" : "== ? === ??? ...#@^%",
94 | "url" : "https://www.youtube.com/watch?v=qGyqzN0bjhc"
95 | }, {
96 | "name" : "FunFunFunction",
97 | "url" : "https://www.youtube.com/mpjmevideos"
98 | }, {
99 | "name" : "What the heck is the event loop anyway?",
100 | "url" : "https://www.youtube.com/watch?v=8aGhZQkoFbQ"
101 | }, {
102 | "name" : "Become a Javascript Console Power-User",
103 | "url" : "https://www.youtube.com/watch?v=4mf_yNLlgic"
104 | }, {
105 | "name" : "Debugging The Web",
106 | "url" : "https://www.youtube.com/watch?v=HF1luRD4Qmk"
107 | }, {
108 | "name" : "JavaScript 30",
109 | "url" : "https://javascript30.com"
110 | }, {
111 | "name" : "Promises Are So Passé",
112 | "url" : "https://vimeo.com/181328943"
113 | }, {
114 | "name" : "Learning Functional Programming with JavaScript",
115 | "url" : "https://www.youtube.com/watch?v=e-5obm1G_FY"
116 | } ]
117 | }, {
118 | "category" : "Interactive learning",
119 | "items" : [ {
120 | "name" : "Codeacademy",
121 | "url" : "https://www.codecademy.com/learn/javascript"
122 | }, {
123 | "name" : "Udacity JavaScript Basics",
124 | "url" : "https://www.udacity.com/course/javascript-basics--ud804"
125 | }, {
126 | "name" : "Code School",
127 | "url" : "https://www.codeschool.com/learn/javascript"
128 | }, {
129 | "name" : "Functional programming",
130 | "url" : "http://reactivex.io/learnrx/"
131 | } ]
132 | }, {
133 | "category" : "ES6 and above",
134 | "items" : [ {
135 | "name" : "Exploring ES6",
136 | "url" : "http://exploringjs.com/es6.html"
137 | }, {
138 | "name" : "Exploring ES2016 and ES2017",
139 | "url" : "http://exploringjs.com/es2016-es2017.html"
140 | }, {
141 | "name" : "Setting up ES6",
142 | "url" : "http://exploringjs.com/setting-up-es6.html"
143 | }, {
144 | "name" : "ES6 Overview",
145 | "url" : "https://ponyfoo.com/articles/es6"
146 | }, {
147 | "name" : "ES6 Katas",
148 | "url" : "http://es6katas.org"
149 | }, {
150 | "name" : "Practical ES6",
151 | "url" : "https://github.com/mjavascript/practical-es6"
152 | } ]
153 | }, {
154 | "category" : "DOM related",
155 | "items" : [ {
156 | "name" : "DOM Enlightenment",
157 | "url" : "http://domenlightenment.com"
158 | }, {
159 | "name" : "You Might Not Need jQuery",
160 | "url" : "http://youmightnotneedjquery.com"
161 | } ]
162 | }, {
163 | "category" : "Node.js",
164 | "items" : [ {
165 | "name" : "The Art of Node",
166 | "url" : "https://github.com/maxogden/art-of-node#readme"
167 | }, {
168 | "name" : "NodeSchool",
169 | "url" : "https://nodeschool.io"
170 | }, {
171 | "name" : "Node Patterns",
172 | "url" : "http://nodepatternsbooks.com"
173 | }, {
174 | "name" : "Learn Node",
175 | "url" : "https://learnnode.com"
176 | } ]
177 | } ]
178 |
--------------------------------------------------------------------------------
/database/platforms/electron.json:
--------------------------------------------------------------------------------
1 | [ {
2 | "category" : "Samples",
3 | "items" : [ {
4 | "description" : "Sample apps illustrating usage of Electron APIs.",
5 | "name" : "Electron API usage",
6 | "url" : "https://github.com/hokein/electron-sample-apps"
7 | }, {
8 | "description" : "WebRTC screen recorder.",
9 | "name" : "Screen Recorder",
10 | "url" : "https://github.com/hokein/electron-screen-recorder"
11 | }, {
12 | "description" : "Shows a doughnut chart of the CPU system, user, and idle activity time.",
13 | "name" : "Activity Monitor",
14 | "url" : "https://electronjs.org/blog/simple-samples#activity-monitor"
15 | }, {
16 | "description" : "Shows the hash values of entered text using different algorithms.",
17 | "name" : "Hash",
18 | "url" : "https://electronjs.org/blog/simple-samples#hash"
19 | }, {
20 | "description" : "Shows the current price of oil, gold, and silver using the Yahoo Finance API.",
21 | "name" : "Prices",
22 | "url" : "https://electronjs.org/blog/simple-samples#prices"
23 | }, {
24 | "description" : "Example of macOS Touch Bar integration.",
25 | "name" : "Touch Bar API",
26 | "url" : "https://github.com/Rawnly/touchbar-api-sample"
27 | } ]
28 | }, {
29 | "category" : "Boilerplates",
30 | "items" : [ {
31 | "name" : "electron-boilerplate",
32 | "url" : "https://github.com/sindresorhus/electron-boilerplate"
33 | }, {
34 | "description" : "Scaffold out an app boilerplate.",
35 | "name" : "generator-electron",
36 | "url" : "https://github.com/sindresorhus/generator-electron"
37 | }, {
38 | "description" : "Boilerplate based on React and webpack.",
39 | "name" : "electron-react-boilerplate",
40 | "url" : "https://github.com/chentsulin/electron-react-boilerplate"
41 | }, {
42 | "description" : "ClojureScript boilerplate for creating an app.",
43 | "name" : "descjop",
44 | "url" : "https://github.com/karad/lein_template_descjop"
45 | }, {
46 | "description" : "Clone the repo to try a simple app.",
47 | "name" : "electron-quick-start",
48 | "url" : "https://github.com/electron/electron-quick-start"
49 | }, {
50 | "description" : "Scaffold, run, test, and package your app.",
51 | "name" : "bozon",
52 | "url" : "https://github.com/railsware/bozon"
53 | }, {
54 | "description" : "Easily build your app with Vue and common plugins.",
55 | "name" : "electron-vue",
56 | "url" : "https://github.com/SimulatedGREG/electron-vue"
57 | }, {
58 | "description" : "Boilerplate to build your app with Next.js.",
59 | "name" : "electron-next-skeleton",
60 | "url" : "https://github.com/leo/electron-next-skeleton"
61 | }, {
62 | "description" : "Boilerplate and tutorial for creating secure apps (sandbox & communication over IPC).",
63 | "name" : "electron-sandbox",
64 | "url" : "https://github.com/kewde/electron-sandbox"
65 | } ]
66 | }, null, {
67 | "category" : "Tools",
68 | "items" : [ {
69 | "description" : "Create installers.",
70 | "name" : "electron-builder",
71 | "url" : "https://github.com/electron-userland/electron-builder"
72 | }, {
73 | "description" : "Official DevTools extension.",
74 | "name" : "devtron",
75 | "url" : "https://github.com/electron/devtron"
76 | }, {
77 | "description" : "Package and distribute your app.",
78 | "name" : "electron-packager",
79 | "url" : "https://github.com/electron-userland/electron-packager"
80 | }, {
81 | "description" : "Adds useful debug features.",
82 | "name" : "electron-debug",
83 | "url" : "https://github.com/sindresorhus/electron-debug"
84 | }, {
85 | "description" : "Check if Electron is running in development.",
86 | "name" : "electron-is-dev",
87 | "url" : "https://github.com/sindresorhus/electron-is-dev"
88 | }, {
89 | "description" : "Add keyboard shortcuts locally to a window.",
90 | "name" : "electron-localshortcut",
91 | "url" : "https://github.com/parro-it/electron-localshortcut"
92 | }, {
93 | "description" : "Auto-update by releasing on GitHub.",
94 | "name" : "electron-gh-release",
95 | "url" : "https://github.com/jenslind/electron-gh-releases"
96 | }, {
97 | "description" : "Publish a new release of your app to GitHub.",
98 | "name" : "electron-release",
99 | "url" : "https://github.com/jenslind/electron-release"
100 | }, {
101 | "description" : "Auto-updater leveraging npm to deploy updates.",
102 | "name" : "electron-updater",
103 | "url" : "https://github.com/evolvelabs/electron-updater"
104 | }, {
105 | "description" : "Fix the $PATH on macOS when run from a GUI app. Useful when spawning a child process.",
106 | "name" : "fix-path",
107 | "url" : "https://github.com/sindresorhus/fix-path"
108 | }, {
109 | "description" : "Launch apps at system startup.",
110 | "name" : "auto-launch",
111 | "url" : "https://github.com/Teamwork/node-auto-launch"
112 | }, {
113 | "description" : "Releases server with auto-updater and GitHub as a backend.",
114 | "name" : "nuts",
115 | "url" : "https://github.com/GitbookIO/nuts"
116 | }, {
117 | "description" : "Simplified file downloads.",
118 | "name" : "electron-dl",
119 | "url" : "https://github.com/sindresorhus/electron-dl"
120 | }, {
121 | "description" : "Self-hosted release server with front-end & auto-updater support.",
122 | "name" : "electron-release-server",
123 | "url" : "https://github.com/ArekSredzki/electron-release-server"
124 | }, {
125 | "description" : "Rebuild native Node.js modules against the currently installed Electron version.",
126 | "name" : "electron-rebuild",
127 | "url" : "https://github.com/electron/electron-rebuild"
128 | }, {
129 | "description" : "Use ES2015, CoffeeScript, Less, Stylus in your app without a precompilation step.",
130 | "name" : "electron-compile",
131 | "url" : "https://github.com/electron/electron-compile"
132 | }, {
133 | "description" : "Position windows at common spots.",
134 | "name" : "electron-positioner",
135 | "url" : "https://github.com/jenslind/electron-positioner"
136 | }, {
137 | "description" : "Persist window sizes and positions.",
138 | "name" : "electron-window-state",
139 | "url" : "https://github.com/mawie81/electron-window-state"
140 | }, {
141 | "description" : "Improved window dragging.",
142 | "name" : "electron-drag",
143 | "url" : "https://github.com/kapetan/electron-drag"
144 | }, {
145 | "description" : "Chrome-like \"inspect element\" context-menu.",
146 | "name" : "debug-menu",
147 | "url" : "https://github.com/parro-it/debug-menu"
148 | }, {
149 | "description" : "Create a Debian package.",
150 | "name" : "electron-installer-debian",
151 | "url" : "https://github.com/unindented/electron-installer-debian"
152 | }, {
153 | "description" : "Create a Red Hat package.",
154 | "name" : "electron-installer-redhat",
155 | "url" : "https://github.com/unindented/electron-installer-redhat"
156 | }, {
157 | "description" : "Create a Windows package.",
158 | "name" : "electron-installer-windows",
159 | "url" : "https://github.com/unindented/electron-installer-windows"
160 | }, {
161 | "description" : "Subprocesses with administrative privileges.",
162 | "name" : "electron-sudo",
163 | "url" : "https://github.com/automation-stack/electron-sudo"
164 | }, {
165 | "description" : "Write and read user settings.",
166 | "name" : "electron-json-storage",
167 | "url" : "https://github.com/jviotti/electron-json-storage"
168 | }, {
169 | "description" : "Download the Electron release zip from GitHub.",
170 | "name" : "electron-download",
171 | "url" : "https://github.com/electron-userland/electron-download"
172 | }, {
173 | "description" : "Duplex stream over IPC.",
174 | "name" : "ipc-stream",
175 | "url" : "https://github.com/jprichardson/electron-ipc-stream"
176 | }, {
177 | "description" : "Check if your code is running in main or renderer.",
178 | "name" : "is-electron-renderer",
179 | "url" : "https://github.com/jprichardson/is-electron-renderer"
180 | }, {
181 | "description" : "Code-signing for macOS apps.",
182 | "name" : "electron-osx-sign",
183 | "url" : "https://github.com/electron-userland/electron-osx-sign"
184 | }, {
185 | "description" : "Restart an Electron app as a detached process.",
186 | "name" : "electron-detach",
187 | "url" : "https://github.com/parro-it/electron-detach"
188 | }, {
189 | "description" : "Build, test, and package Ember apps.",
190 | "name" : "ember-electron",
191 | "url" : "https://github.com/felixrieseberg/ember-electron"
192 | }, {
193 | "description" : "Package Meteor apps.",
194 | "name" : "electrify",
195 | "url" : "https://github.com/arboleya/electrify"
196 | }, {
197 | "description" : "Test Electron apps using ChromeDriver.",
198 | "name" : "spectron",
199 | "url" : "https://github.com/electron/spectron"
200 | }, {
201 | "description" : "Babel preset that only compiles what's necessary for a particular Electron version.",
202 | "name" : "babel-preset-electron",
203 | "url" : "https://github.com/emorikawa/babel-preset-electron"
204 | }, {
205 | "description" : "Utility functions.",
206 | "name" : "electron-is",
207 | "url" : "https://github.com/delvedor/electron-is"
208 | }, {
209 | "description" : "Simplified API for accessing macOS's appearance settings.",
210 | "name" : "electron-osx-appearance",
211 | "url" : "https://github.com/danhp/electron-osx-appearance"
212 | }, {
213 | "description" : "Save and load data like user preferences, app state, cache, etc.",
214 | "name" : "electron-store",
215 | "url" : "https://github.com/sindresorhus/electron-store"
216 | }, {
217 | "description" : "Extensible context menu.",
218 | "name" : "electron-context-menu",
219 | "url" : "https://github.com/sindresorhus/electron-context-menu"
220 | }, {
221 | "description" : "Simplified require.",
222 | "name" : "electron-require",
223 | "url" : "https://github.com/brrd/electron-require"
224 | }, {
225 | "description" : "Embedded persistent or in-memory database.",
226 | "name" : "NeDB",
227 | "url" : "https://github.com/louischatriot/nedb"
228 | }, {
229 | "description" : "Install DevTools extensions from the Chrome Web Store.",
230 | "name" : "electron-devtools-installer",
231 | "url" : "https://github.com/GPMDP/electron-devtools-installer"
232 | }, {
233 | "description" : "Simple logging.",
234 | "name" : "electron-log",
235 | "url" : "https://github.com/megahertz/electron-log"
236 | }, {
237 | "description" : "Synchronize Redux state across windows.",
238 | "name" : "electron-redux",
239 | "url" : "https://github.com/hardchor/electron-redux"
240 | }, {
241 | "description" : "Add vibrancy (blur) to windows.",
242 | "name" : "electron-vibrancy",
243 | "url" : "https://github.com/arkenthera/electron-vibrancy"
244 | }, {
245 | "description" : "'About This App' window.",
246 | "name" : "electron-about-window",
247 | "url" : "https://github.com/rhysd/electron-about-window"
248 | }, {
249 | "description" : "Live-reload your app during development.",
250 | "name" : "elemon",
251 | "url" : "https://github.com/manidlou/elemon"
252 | }, {
253 | "description" : "Check if a string is a valid accelerator.",
254 | "name" : "electron-is-accelerator",
255 | "url" : "https://github.com/brrd/electron-is-accelerator"
256 | }, {
257 | "description" : "View PDF files in browser windows.",
258 | "name" : "electron-pdf-window",
259 | "url" : "https://github.com/gerhardberger/electron-pdf-window"
260 | }, {
261 | "description" : "Router tidying up IPC message passing.",
262 | "name" : "electron-router",
263 | "url" : "https://github.com/m0n0l0c0/electron-router"
264 | }, {
265 | "description" : "Automatically move your app to /Applications on macOS.",
266 | "name" : "electron-lets-move",
267 | "url" : "https://github.com/tommoor/electron-lets-move"
268 | }, {
269 | "description" : "Reads and writes user settings to disk.",
270 | "name" : "electron-settings",
271 | "url" : "https://github.com/nathanbuchar/electron-settings"
272 | }, {
273 | "description" : "Simplified HTTP requests.",
274 | "name" : "got",
275 | "url" : "https://github.com/sindresorhus/got"
276 | }, {
277 | "description" : "Catch unhandled errors and promise rejections.",
278 | "name" : "electron-unhandled",
279 | "url" : "https://github.com/sindresorhus/electron-unhandled"
280 | }, {
281 | "description" : "Process manager UI (like Chrome's task manager).",
282 | "name" : "electron-process-manager",
283 | "url" : "https://github.com/getstation/electron-process-manager"
284 | }, {
285 | "description" : "Flux-like state and action management across processes.",
286 | "name" : "ipc-flux",
287 | "url" : "https://github.com/harryparkdotio/ipc-flux"
288 | }, {
289 | "description" : "Useful utilities for developing apps and modules.",
290 | "name" : "electron-util",
291 | "url" : "https://github.com/sindresorhus/electron-util"
292 | } ]
293 | }, null, {
294 | "category" : "Components",
295 | "items" : [ {
296 | "description" : "UI toolkit for building beautiful apps.",
297 | "name" : "Photon",
298 | "url" : "http://photonkit.com"
299 | }, {
300 | "description" : "Photon components built with React.",
301 | "name" : "React PhotonKit",
302 | "url" : "https://github.com/react-photonkit/react-photonkit"
303 | }, {
304 | "description" : "Menubar app framework.",
305 | "name" : "menubar",
306 | "url" : "https://github.com/maxogden/menubar"
307 | }, {
308 | "description" : "Adds support for document.cookie.",
309 | "name" : "cookies",
310 | "url" : "https://github.com/hstove/electron-cookies"
311 | }, {
312 | "description" : "Create and manage windows.",
313 | "name" : "window",
314 | "url" : "https://github.com/jprichardson/electron-window"
315 | }, {
316 | "description" : "UI toolkit for macOS and Windows built with React.",
317 | "name" : "React Desktop",
318 | "url" : "https://github.com/gabrielbull/react-desktop"
319 | }, {
320 | "description" : "Context menu for input elements.",
321 | "name" : "electron-input-menu",
322 | "url" : "https://github.com/parro-it/electron-input-menu"
323 | }, {
324 | "description" : "Chrome like tabs.",
325 | "name" : "chrome-tabs",
326 | "url" : "https://github.com/adamschwartz/chrome-tabs"
327 | }, {
328 | "description" : "Emulate the macOS window titlebar.",
329 | "name" : "titlebar",
330 | "url" : "https://github.com/kapetan/titlebar"
331 | }, {
332 | "description" : "Build and manage UI components with Photon and Etch.",
333 | "name" : "Brightwheel",
334 | "url" : "https://github.com/loranallensmith/brightwheel"
335 | }, {
336 | "description" : "Widget toolkit for building native-like apps.",
337 | "name" : "Xel",
338 | "url" : "https://xel-toolkit.org"
339 | } ]
340 | }, {
341 | "category" : "Documentation",
342 | "items" : [ {
343 | "name" : "Quick Start",
344 | "url" : "https://electronjs.org/docs/tutorial/quick-start"
345 | }, {
346 | "name" : "Official docs",
347 | "url" : "https://electronjs.org/docs"
348 | }, {
349 | "description" : "Concise overview.",
350 | "name" : "Essential Electron",
351 | "url" : "http://jlord.us/essential-electron/"
352 | } ]
353 | }, {
354 | "category" : "Articles",
355 | "items" : [ {
356 | "name" : "Electron Fundamentals",
357 | "url" : "http://maxogden.com/electron-fundamentals.html"
358 | }, {
359 | "name" : "Building a desktop application with Electron",
360 | "url" : "https://medium.com/@bojzi/building-a-desktop-application-with-electron-204203eeb658"
361 | }, {
362 | "name" : "Codesigning your app for macOS",
363 | "url" : "http://jbavari.github.io/blog/2015/08/14/codesigning-electron-applications/"
364 | }, {
365 | "name" : "Auto-updating apps for macOS and Windows: The complete guide",
366 | "url" : "https://medium.com/@svilen/auto-updating-apps-for-windows-and-osx-using-electron-the-complete-guide-4aa7a50b904c"
367 | }, {
368 | "name" : "How To Make Your Electron App Sexy",
369 | "url" : "https://blog.dcpos.ch/how-to-make-your-electron-app-sexy"
370 | }, {
371 | "description" : "Blog about working with Electron.",
372 | "name" : "Electron Rocks!",
373 | "url" : "http://electron.rocks"
374 | }, {
375 | "name" : "Building a desktop app with Electron, React, and Redux",
376 | "url" : "https://anadea.info/blog/building-desktop-app-with-electron"
377 | }, {
378 | "description" : "New Electron API to embed web apps with fewer bugs and improved performance.",
379 | "name" : "Introducing BrowserView for Electron",
380 | "url" : "https://blog.figma.com/introducing-browserview-for-electron-7b40b4b493d5"
381 | }, {
382 | "description" : "Slack rewrote their Electron app with BrowserView, Redux, Rx, and TypeScript, to fix its performance problems.",
383 | "name" : "Migrating Slack’s Desktop App to BrowserView",
384 | "url" : "https://slack.engineering/growing-pains-migrating-slacks-desktop-app-to-browserview-2759690d9c7b"
385 | }, {
386 | "description" : "Realm rewrote their database browser app with Electron for cross-platform support.",
387 | "name" : "Bringing Native Performance to Electron",
388 | "url" : "https://blog.realm.io/native-performance-electron-realm/"
389 | } ]
390 | }, {
391 | "category" : "Books",
392 | "items" : [ {
393 | "name" : "Developing an Electron Edge",
394 | "url" : "https://bleedingedgepress.com/developing-an-electron-edge/"
395 | }, {
396 | "description" : "Electron in Action guides you, step-by-step, as you learn to build desktop applications that run on Windows, OSX, and Linux",
397 | "name" : "Electron in Action",
398 | "url" : "https://www.manning.com/books/electron-in-action?a_aid=electroninaction"
399 | }, {
400 | "name" : "Cross-Platform Desktop Applications",
401 | "url" : "https://www.manning.com/books/cross-platform-desktop-applications"
402 | } ]
403 | }, {
404 | "category" : "Videos",
405 | "items" : [ {
406 | "name" : "Getting Started with Electron 1.x",
407 | "url" : "https://www.youtube.com/watch?v=jKzBJAowmGg"
408 | }, {
409 | "name" : "Packaging and Distributing Electron Desktop Apps",
410 | "url" : "https://www.youtube.com/watch?v=dz5SnmBzBXc"
411 | }, {
412 | "name" : "Multi Window Electron Desktop Apps",
413 | "url" : "https://www.youtube.com/watch?v=K-H2amwQ_pU"
414 | }, {
415 | "name" : "The State of Electron",
416 | "url" : "https://www.youtube.com/watch?v=RaPmi-33rfc"
417 | }, {
418 | "name" : "Cross-Platform Desktop Apps with Electron",
419 | "url" : "https://www.youtube.com/watch?v=9xX_G0l5jLU"
420 | }, {
421 | "name" : "Building Native Desktop apps using Electron",
422 | "url" : "https://www.youtube.com/watch?v=nXIrFq5-FC8"
423 | }, {
424 | "name" : "The New Desktop: Electron, React, & Pixel-Perfect Native-Feeling Experiences",
425 | "url" : "https://www.youtube.com/watch?v=jRPUB-D1Wx0"
426 | }, {
427 | "name" : "Building Desktop Apps with Node.js and Electron",
428 | "url" : "https://www.youtube.com/watch?v=rbSvc8_BHaw"
429 | }, {
430 | "name" : "Electron Fundamentals course - Pluralsight",
431 | "url" : "https://www.pluralsight.com/courses/electron-fundamentals"
432 | }, {
433 | "name" : "Electron: Building Cross Platform Desktop Apps - Lynda",
434 | "url" : "https://www.lynda.com/Electron-tutorials/Electron-Building-Cross-Platform-Desktop-Apps/518051-2.html"
435 | }, {
436 | "name" : "Automatically Build and Publish Node and Electron Applications for Linux",
437 | "url" : "https://pusher.com/sessions/meetup/london-node-user-group/automatically-build-and-publish-node-and-electron-applications-for-linux"
438 | }, {
439 | "name" : "Build a desktop application with Electron - Egghead",
440 | "url" : "https://egghead.io/courses/build-a-desktop-application-with-electron"
441 | }, {
442 | "name" : "Build Cross-Platform Desktop Apps with Electron - Frontend Masters",
443 | "url" : "https://frontendmasters.com/courses/electron/"
444 | }, {
445 | "description" : "Includes some good talks on improving app startup time, debugging crashes, etc.",
446 | "name" : "Electron Meetup SF, November 2017",
447 | "url" : "https://www.youtube.com/watch?v=DDjVaHPvRdM"
448 | } ]
449 | }, {
450 | "category" : "Podcasts",
451 | "items" : [ {
452 | "name" : "JavaScript Jabber: Electron with Jessica Lord and Amy Palamountain",
453 | "url" : "https://devchat.tv/js-jabber/193-jsj-electron-with-jessica-lord-and-amy-palamountain"
454 | }, {
455 | "name" : "Hanselminutes: Creating cross-platform Electron apps with Jessica Lord",
456 | "url" : "http://hanselminutes.com/534/creating-cross-platform-electron-apps-with-jessica-lord"
457 | }, {
458 | "name" : "JavaScript Air: Electron Apps with @jlord and @emorikawa",
459 | "url" : "https://javascriptair.com/episodes/2016-07-06"
460 | }, {
461 | "name" : "The Changelog #216: GitHub's Electron with Zeke Sikelianos",
462 | "url" : "https://changelog.com/216/"
463 | }, {
464 | "name" : "Full Stack Radio #48: Jessica Lord - Building Desktop Apps with Electron",
465 | "url" : "http://www.fullstackradio.com/48"
466 | }, {
467 | "name" : "NodeUp: Electron with Jessica Lord",
468 | "url" : "http://nodeup.com/onehundredseven"
469 | } ]
470 | }, {
471 | "category" : "Community",
472 | "items" : [ {
473 | "name" : "Discuss",
474 | "url" : "https://discuss.atom.io/c/electron"
475 | }, {
476 | "name" : "Reddit",
477 | "url" : "https://www.reddit.com/r/electronjs"
478 | }, {
479 | "name" : "Stack Overflow",
480 | "url" : "http://stackoverflow.com/questions/tagged/electron"
481 | }, {
482 | "name" : "@electronjs on Twitter",
483 | "url" : "https://twitter.com/electronjs"
484 | }, {
485 | "name" : "#atom-shell on Freenode",
486 | "url" : "http://webchat.freenode.net/?channels=atom-shell"
487 | }, {
488 | "name" : "#electron on Atom Slack",
489 | "url" : "http://atom-slack.herokuapp.com"
490 | }, {
491 | "name" : "electron-jp",
492 | "url" : "https://electron-jp-slackin.herokuapp.com"
493 | }, {
494 | "name" : "electron-br",
495 | "url" : "https://electron-br.slack.com"
496 | }, {
497 | "name" : "electron-kr",
498 | "url" : "http://www.meetup.com/electronkr"
499 | }, {
500 | "name" : "@electron_ru on Telegram",
501 | "url" : "https://telegram.me/electron_ru"
502 | }, {
503 | "name" : "electronjs on Facebook",
504 | "url" : "https://www.facebook.com/groups/electronjs/"
505 | }, {
506 | "name" : "Product Hunt",
507 | "url" : "https://www.producthunt.com/@sindresorhus/collections/electron-apps"
508 | } ]
509 | } ]
510 |
--------------------------------------------------------------------------------