We are attempting to find an existing Node / Mongoose / Express seed as an API starting point for our MEAN projects. We love and have come accustomed to the Genesis Skeleton framework workflow, but it lacks a flexiable API server. Ideally we could incorporate the two and cteate a master starter seed!
https://github.com/linnovate/mean/
In a nutshell MEAN stack starting seed for projects. Modular so it should be easy to add functionality.
Pros
- Modular development pattern
- Email system looks promosing, (but there is no concrete example.)
- Active development
- Auth is super clear, since its done in-line with each route. ie:
app.post('/apples', isLoggedIn(), isAdmin(), apples.create())
Cons
- No generic routing (although one could easily write this?)
- No email example
- No permissions / groups module
https://github.com/balderdashy/sails/
In a nutshell Flexiable and dynamic API. You only need to start sails and it will serve data. Can be configured more in depth with routes, schema, etc.
Pros
- Flexiable routing and controllers
- Supports middlewear for extended functionality
- Active development, RC1 is out now
- Designed to work with Socket.io
Cons
- Sinces its a "framework" we can only customize within limited ways. ie: we must use their validation, scheme decleation, etc.
- No support for relationhips (it is planned though)
- harder to integrate with products since it starts its own server on port 3000
https://github.com/scotch/sapling/tree/master/server
In a nutshell Simple User management with inconsistantly working demo
Pros
- Simple, easy to understand code
- has mailer, forgot password, et el built in
- No complex workflow tasks
Cons
- Doesn't use Passport for auth. Users unsupported mongoose-session
- Has a strange routing setup where routes are not in a central location.
https://github.com/mattpardee/restapis/
In a nutshell Flexiable routing and simple, concreate example. We saw this demo at the NodePhilly conference
Pros
- Supports generic /:resource/:id route pattern
Cons
- Lacks /:resource/:id/:child pattern
- Not fully developed
- Lacks find, limit, etc. on queries
https://github.com/jspears/mers
In a nutshell Flexiable routing with great find, limit, child resource capibilities!
Pros
- Similar to SailsJS, but with relationships built in
Cons
- Still in development
- Complex code which is hard to follow and might not be modular?
https://github.com/jedireza/drywall
In a nutshell Out of the box user management system. All the hard stuff out of the way!
Pros
- Well rounded user management system
- Has support for email with Mandrill, etc.
- Well organized routing system
Cons
- Many of the end points are setup to serve html view. They need to be modified to work as API endpoints
- Hard to follow workflow queue (although this makes performance better, the code is harder to read)
- No generic resource
- Permissions are scatterd thoughout the code, rather than being centralized in the routes
I'm in the process of re-structuring drywall as a Locomotive app. My main driver was to have a better MVC structure, with namespaced controllers and resourceful routing.
The port is still W.I.P. (The app is functional, but the build script is yet to be ported. Minified resources not yet available, but for now they can be copied over from drywall's public folder as is).
I am converting the build script into a Gruntfile, after which the app will become completely self-contained.
https://github.com/adityamukho/locomotive-drywall-seed