Sign up ×
Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a minute:

I have a PHP background and I have build several web apps with Laravel (3 and 4). I have also experience of using RESTful APIs in my projects.

My current client have an ERP which is bunch of PHP files. Those files contains about 60K lines of spaghetti code. Client doesn't want to invest more money for developing that system so we decided to rewrite the whole app. I know all the risks about rewrite and I have also read Joel's article (http://www.joelonsoftware.com/articles/fog0000000069.html) so there is no need for refactor or rewrite discussion.

For the new app I have been thinking to build RESTful API with Laravel (4 or 5) and frontend with AngularJS. That was before I tested Meteor 1.0. It is very promising and it would be very nice to use it for this project. But is it suitable for this kind of product?

My client's product is something like this:

  • No public registration for this app (admin creates all the users)
  • Complex user permissions (group level permissions and user level permissions, 6 groups)
  • File handling (images, pdf etc.). Files are used as message attachments.
  • Big data tables
  • External API calls

App contains sections like: users, orders, offers, time tracking, sales, reporting, calendars, clients.

So is it wise to use Meteor for this kind project or do you prefer RESTful API + AngularJS combo? I'm hesitating because I'm afraid that in big projects using Meteor the code will becode mess.

share|improve this question
    
"Client doesn't want to invest more money for developing that system so we decided to rewrite the whole app." - +1 – Dan Dascalescu Nov 7 '14 at 22:49

2 Answers 2

up vote 6 down vote accepted

I'm working on a feasibility analysis for using meteor on a similar project at Google, and I think Meteor would be great for your project.

  • Admin user creation - check Houston

  • REST API - [you don't need one for your own tools]( need to think in Meteor terms. ). Meteor has a much simpler mechanism - Meteor.call and Meteor.methods.

  • User permissions - see the roles package

  • File handling - see CollectionFS or search Atmosphere for upload.

  • External API calls - HTTP.get makes it trivial. See also Atmosphere for specific packages.

  • Big data tables - see this answer about table widgets

share|improve this answer
    
Nice list! In a future I want to make an iPhone (or android) app that sends camera photos to this system. It should be possible with PhoneGap but is that support easy to add later? – anttir Nov 10 '14 at 8:15
    
@anttir: Quite easy - see more at github.com/meteor/meteor/wiki/… – Dan Dascalescu Nov 10 '14 at 8:57
1  
I have been learning Meteor for one week now, and I really like it. All the beginners should read this book: discovermeteor.com – anttir Nov 13 '14 at 10:58
    
I have to add to the answer that you can also use AngularJS on top of Meteor with this package: angularjs.meteor.com – Urigo Nov 18 '14 at 20:17
1  
@Liko: a modern web app with decent UX will require significant JavaScript on the client side. For the server side, unless you a have highly valuable code base or expertise in another language, it's best to choose JavaScript as well, for isomorphism, code reuse, and to minimize context switching costs. Unless you want to live on the bleeding edge, the choice is now between the MEAN stack and Meteor. – Dan Dascalescu Nov 3 at 3:45

Don't know much about Meteor, but for the Angular variant you can take a look at this POC application using a AngularJS client and a REST Server:

https://groups.google.com/forum/#!topic/angular/Q3GrhAH39AU
http://www.civilian-framework.org/doc-samples.html#crm

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.