An Angular Modules Repository?

727 views
Skip to first unread message

Jim Hoskins

unread,
Nov 27, 2012, 10:43:18 PM11/27/12
to ang...@googlegroups.com
I've really enjoyed working with Angular, but I feel like there is something missing that holds me back from recommending it to some of the less experienced developers I know.

The basics of bindings, controllers and the core directives are really easy to pick up, but beyond that, you are kind of on your own to build the directives and services. Climbing the learning curve to get there is a bit to hard for the less experienced developers, and they really shouldn't need to write their own directives for most stuff. Angular is designed so well that modules (or "plugins") are very portable and easy to install and use. However, it doesn't seem like there is a good place (at least that I can find) to find community modules.

My idea is to build such a site, that could be a repository for listing and finding modules for AngularJS. I wanted to submit this idea to the community to see if it's an idea worth executing on, or if something is already in the works. I wanted to get a feel if such a site would be blessed, ignored, or rejected by the core team and community.

I'm drawing inspiration for features from https://www.ruby-toolbox.com/http://rubygems.org/, and https://npmjs.org/

The core functionality is a database of module that is tagged and searchable, +1-able? (a la ruby toolbox)

Taking it a step further, however, if engineered right, the site could allow you to pick and choose modules you need, and generate a js file for you, containing all of those modules. In my head I'm imagining having a module name for the site, like "ng-modules", which would be the module included in your app. Then all of the 3rd party modules would be dependencies of "ng-modules", making integration into your app easy.

A command line tool could even be used to manage the modules in this ng-modules.js file.

I've started work on it, but like I said, I wanted to get community feedback on the idea, just to make sure I'm not duplicating effort, fragmenting, or just entirely wasting my time.

I'd love to hear feedback, or if someone wants to be a part of it, or take ownership of such an initiative, I'm open to it. I just want it to get done, and I'm willing to do it.

Thanks!
Jim Hoskins

Brad McAlister

unread,
Nov 28, 2012, 12:56:48 AM11/28/12
to ang...@googlegroups.com
As a less experienced developer this sounds like a great idea to me. I think there's definitely value in writing the modules myself and the learning curve so I actually learn but having a repository where I can find modules that do what I need to do would be great. I've had my share of obstacles over the last couple of weeks working with Angular but this awesome community has helped me out a lot. I'd be willing to help where I can.

Thanks!
Brad

Peter Bacon Darwin

unread,
Nov 28, 2012, 2:14:44 AM11/28/12
to ang...@googlegroups.com
I agree.  I have been quietly promoting this idea for a while but never had the time to sit down and do it.  I had hoped that we could piggy back on Bower but I found it not quite right.
A simple website where one can upload modules with metadata for search and download would be fine.

I don't believe that generating js files is the way forward, though.  Just allow people to download them and use them as they will.  In any decent sized project you will have a build process that is going to mess about (concat, min) with all these files anyway.

I would be keen to get involved if you want to open source what you have got.
Pete


--
You received this message because you are subscribed to the Google Groups "AngularJS" group.
To post to this group, send email to ang...@googlegroups.com.
To unsubscribe from this group, send email to angular+u...@googlegroups.com.
Visit this group at http://groups.google.com/group/angular?hl=en-US.
 
 

Stephane Bisson

unread,
Nov 28, 2012, 2:50:36 AM11/28/12
to ang...@googlegroups.com
I like the idea. I would probably use it and contribute a few modules with the stuff I have been working on lately. 

Also, I like the idea of specifying the dependencies and have a tool to download/update them as needed. 

stephane

Christophe ROGER

unread,
Nov 28, 2012, 5:32:25 AM11/28/12
to ang...@googlegroups.com
I think that is a very good idea. Maybe we could help if you plan to opensource it.

Miguel Ping

unread,
Nov 28, 2012, 6:06:50 AM11/28/12
to ang...@googlegroups.com
This is similar to angular-ui lib right (http://angular-ui.github.com/) ? I think it's a good idea

Peter Bacon Darwin

unread,
Nov 28, 2012, 6:12:38 AM11/28/12
to ang...@googlegroups.com
No, it is not really the same thing but it is possible that AngularUI could move in that direction or contribute modules to this idea.
Here we are talking about a service (probably a website - possible a command line tool) where you can go search for modules uploaded by the community and rated by the community.
Another example of this sort of thing is http://www.djangopackages.com/.
Pete


--

Pascal Precht

unread,
Nov 28, 2012, 8:45:59 AM11/28/12
to ang...@googlegroups.com
I 've thought about something like this a few days ago too! So let us know if you want to open source the whole thing and let us work together on that!

Carsten Kraus

unread,
Nov 28, 2012, 12:26:52 PM11/28/12
to ang...@googlegroups.com
Peter, would you mind to elaborate a bit on why bower wouldnt be a good fit?

I'd imagine it would be of big help, if the whole dependency & versions mgmt, registry, installation cli stuff wouldnt have to be reinvented.
Also, such a tool should be able to install non-angular dependencies, as well, I guess - given for ex. all the jquery plugin related questions on the list.
IMHO, it'd be a good idea to not reinvent that part of the OT, but look at bower or similar projects.

A website dedicated to angular modules only would be great though. Such a site could maybe list only those bower/whatever modules that have angular as keyword.

An idea: I'd totally love if the shown modules would have their little plunkers with them, maybe specified in their package/component.json. 
Angular-style : )

johnd...@gmail.com

unread,
Nov 28, 2012, 1:11:34 PM11/28/12
to ang...@googlegroups.com
I'm just getting into Angular so I'd be game for something like this. One request: from a newbie perspective I don't normally ask "what is the package for doing X" where I know that "X" is beyond the scope of the standard library. So you might consider making the search and browse interface able to include things other than packages, for example a best practice. That way if I'm trying to do something which doesn't require a package, or that is "not the angular way", I can find out about that too. Just a thought. Thanks!

Jim Hoskins

unread,
Nov 28, 2012, 1:31:28 PM11/28/12
to ang...@googlegroups.com
So based on the feedback, I'm going to move forward with this plan, unless I get word there is an official solution in the works.

I plan on open sourcing it, so I'll post a github repo for feedback/collaboration when it's up.

The core functionality I want to get is the searchable, tagged, browsable repository of modules. Discovery is priority #1 in my mind.

I think I'd like to promote bower as a means of defining the metadata of a module, so if we wanted to build a package/dependency management tool on this, bower could be the basis for it.

Some technical ideas I want to throw out about the app.

  • Authentication via Github
  • Each module should be a github repo 
    • This is for simplicity sake, since it obviates the need for uploading/downloading zips via the app
    • It could be made more general later if the need arises, but github is de facto right now already.
  • If a component.json (see Bower) exists, the app can pull use it to populate information about the module
  • Implemented in rails
    • An angular app for the site itself seems nice, but search engine visibility takes priority over dogfood-eating

I have the following domains purchased, and would like to get feedback (which should be canonical?)

Does anybody have any suggestions, comments, concerns?

Also, what would be the best way to collaborate with the community about this project. The angular mailing list? A new mailing list? GH Issues? Something else?

Thanks for the feedback.

Looking forward to working on this, and hopefully collaborating more.

Pawel Kozlowski

unread,
Nov 28, 2012, 1:44:10 PM11/28/12
to ang...@googlegroups.com
Hi!

ng-modules.org sounds cool :-)

Cheers,
Pawel

On Wed, Nov 28, 2012 at 7:31 PM, Jim Hoskins <j...@jimhoskins.com> wrote:
> ng-modules.org



--
Question? Send a fiddle
(http://jsfiddle.net/pkozlowski_opensource/Q2NpJ/) or a plunk
(http://plnkr.co/)
Need help with jsFiddle? Check this:
http://pkozlowskios.wordpress.com/2012/08/12/using-jsfiddle-with-angularjs/

Looking for UI widget library for AngularJS? Here you go:
http://angular-ui.github.com/

Sharon DiOrio

unread,
Nov 28, 2012, 1:58:56 PM11/28/12
to ang...@googlegroups.com
Oh man, having the plunkers/fiddles right with the code (and a little blurb on the approch/best practices) would be the awesomesauce. How often have you run across a bit of code and just needed to see it working as it should to decide if it's right for you?

Jim Hoskins

unread,
Nov 28, 2012, 2:15:37 PM11/28/12
to ang...@googlegroups.com
Having documentation and interactive examples is pretty important to me. Trying to figure out how to best support/encourage that.

Plunks and fiddles are great, but I feel like example code should be included in the source repository, so it's not disconnected. Maybe the app could discover an examples/ dir in the repo and generate a plunker automatically

Pawel Kozlowski

unread,
Nov 28, 2012, 2:27:51 PM11/28/12
to ang...@googlegroups.com
Hi!

On Wed, Nov 28, 2012 at 8:15 PM, Jim Hoskins <j...@jimhoskins.com> wrote:

> Plunks and fiddles are great, but I feel like example code should be
> included in the source repository, so it's not disconnected. Maybe the app
> could discover an examples/ dir in the repo and generate a plunker
> automatically

This EXACTLY what I think as well. The source examples must be close
to a module. Ideally in separate files close to a module. Code
examples and jsFiddle/plunk should be generated from those example
files.

Cheers,
Pawel

dar...@bruning.net.nz

unread,
Nov 28, 2012, 3:40:44 PM11/28/12
to ang...@googlegroups.com
As an angular newbie I love the idea of the site.
Would be funny to tie the name into the whole Superhero theme. Where do superheroes go to get useful bits and pieces? Utility belt?

Will Kriski

unread,
Nov 28, 2012, 3:59:29 PM11/28/12
to ang...@googlegroups.com
Couldn't have said it better myself. HTML markup, a few controllers and even a route aren't too bad. Then you try to add a 3rd party module which often requires writing a directive (unless someone has already done it) and you have to understand the different between compile and linking functions. If we can move from messy jQuery to HTML markup and less JS that would be great for all, plus clearly written documentation by people who can put themselves in the newbies shoes. 

pelado

unread,
Nov 28, 2012, 9:09:50 PM11/28/12
to ang...@googlegroups.com
I too think this is a great idea. I particularly like the idea that the modules could be seen as a working example in something like jsfiddle or plnkr.  If this were a requirement I think it might discourage/expose sloppy code and promote good practice. At the same time it would provide an illustration of how it should be tied into the core angular without having to go the route of the angularjs documentation  - which just confuses me as a beginner ;) . 

Timothy Bone

unread,
Nov 29, 2012, 12:12:51 AM11/29/12
to ang...@googlegroups.com, pelado...@googlemail.com
So where's that Github Repository? 

:)

 

Pascal Precht

unread,
Nov 29, 2012, 3:50:32 AM11/29/12
to ang...@googlegroups.com
For simplicity, I'd take ngmodules.org rather then ng-modules.org.

Carsten Kraus

unread,
Nov 29, 2012, 4:26:14 AM11/29/12
to ang...@googlegroups.com
Just a thought: would it spur community contributions a bit more, if the site would be implemented in javascript(nodejs) rather than rails?

Another usecase for such a site comes to mind: teams in larger projects, maybe on the intranet.
If the discovery requirement would be well met, I'd definitely love to have something like this for my teams.


John Fletcher

unread,
Dec 3, 2012, 3:48:14 AM12/3/12
to ang...@googlegroups.com
Yes hyphens are only for use in domains when you can't get the non-hyphenated form, in my opinion.
 
John


2012/11/29 Pascal Precht <pascal...@gmail.com>

Jim Hoskins

unread,
Dec 4, 2012, 1:53:46 PM12/4/12
to ang...@googlegroups.com
I have built an deployed the alpha version of the Angular Modules site.

You can visit it here: http://ngmodules.org
The source is available here: https://github.com/jimrhoskins/ngmodules.org
Please direct any bug reports or feature requests to  https://github.com/jimrhoskins/ngmodules.org/issues
Pull Requests welcome.

I wanted to deploy it with some pretty barebones functionality before going too much further. There are a lot of ideas I have about loading data directly from the repositories for examples, docs, and dependencies. For now it's a basic database (though most of the info can be fetched directly from Github)

Current features
  • Authentication via Github
  • Tagging
  • Search
  • Links to Github source and download
  • README for module
  • Discussion (via Disqus)
  • Ownership of modules
    • The user may manage the modules they have submitted
    • A user may also manage any modules the belong to their github account regardless (e.g. jimrhoskins can edit a module at github.com/jimrhoskins/some-module)
  • A popularity metric ("I use this module")

Currently I have decided to host it at ngmodules.org, but the following domains will redirect correctly: (www.)?(ngmodules | ng-modules | angular-modules | angularmodules).org


My next steps would be to gather some of the modules available, and see if there are some patterns we can utilize as a community in packaging angular modules.

What do you think?

- Jim Hoskins


Pawel Kozlowski

unread,
Dec 4, 2012, 2:29:23 PM12/4/12
to ang...@googlegroups.com
Coooooooollll!

Just submitted http://ngmodules.org/modules/angularjs-mongolab-promise
Seems to be working alright :-)

Cheers,
Pawel
> --
> You received this message because you are subscribed to the Google Groups
> "AngularJS" group.
> To post to this group, send email to ang...@googlegroups.com.
> To unsubscribe from this group, send email to
> angular+u...@googlegroups.com.
> Visit this group at http://groups.google.com/group/angular?hl=en-US.
>
>



pelado

unread,
Dec 4, 2012, 2:35:21 PM12/4/12
to ang...@googlegroups.com
Thanks! Look forward to using it! :)

Jim Hoskins

unread,
Dec 4, 2012, 2:35:43 PM12/4/12
to ang...@googlegroups.com
Awesome. Already had to push an update, wasn't expecting a github username as long as yours. :)

Remo Koch

unread,
Dec 4, 2012, 2:40:08 PM12/4/12
to ang...@googlegroups.com
Siick! This is awesome! Thank you!!

Pawel Kozlowski

unread,
Dec 4, 2012, 2:42:38 PM12/4/12
to ang...@googlegroups.com
On Tue, Dec 4, 2012 at 8:35 PM, Jim Hoskins <j...@jimhoskins.com> wrote:
> Awesome. Already had to push an update, wasn't expecting a github username
> as long as yours. :)

:-)

Peter Bacon Darwin

unread,
Dec 4, 2012, 3:09:46 PM12/4/12
to ang...@googlegroups.com
Very very nice.


Wayne Montague

unread,
Dec 4, 2012, 9:19:18 PM12/4/12
to ang...@googlegroups.com
great job jim.

Cary Landholt

unread,
Dec 5, 2012, 12:32:59 AM12/5/12
to ang...@googlegroups.com
Terrific, Jim!  Thanks!

Mathieu ROBIN

unread,
Dec 5, 2012, 4:27:25 AM12/5/12
to ang...@googlegroups.com
When I try to add one of my repo, it's give me an error, saying "Github repo is invalid".
But I don't understand why. My repo URL : http://www.github.com/MathRobin/GuiNotify/

When I click on "Load details from GitHub" it works well. So ?

Great idea, thanks !

Josh Kurz

unread,
Dec 5, 2012, 6:08:23 AM12/5/12
to ang...@googlegroups.com
I had a similar issue. 




--
You received this message because you are subscribed to the Google Groups "AngularJS" group.
To post to this group, send email to ang...@googlegroups.com.
To unsubscribe from this group, send email to angular+u...@googlegroups.com.
Visit this group at http://groups.google.com/group/angular?hl=en-US.
 
 



--
Josh Kurz


Jim Hoskins

unread,
Dec 5, 2012, 9:52:04 AM12/5/12
to ang...@googlegroups.com
What's the value that's in the field that is giving you the error. I may have created a validation that is too strict.

Jonathan Meiss

unread,
Dec 5, 2012, 10:37:00 AM12/5/12
to ang...@googlegroups.com
That's awesome!!!

Thx.
Reply all
Reply to author
Forward
0 new messages