Big(ger) Application/Product Development Experience with Meteor

Hi All,

First of All Thanks to many folks here whose comments / answers and even questions have helped us through this one year that we have been working on this project to build the product.

Sharing our experience of building full fledged On Cloud ERP (+some CRM) with accounting system using Meteor in 12 months.
In these 12 months, we have revamped the APP + UI 4 times. Now we are at ease with the customer experience.

We also like to hear from others, who are are going through similar experience and if there are any tips / tricks that we have missed and we can improve upon.

Us, team of 8, have been working on this product for 12+ months now. We are a start up from Pune, India. (nr Mumbai)

Objective: Build a system which can be used by Small business to operate their business effectively.
Our customers, from day 1, helped us define and refine the requirements and user experience.

Requirements: (we started with basic requirements and it got more detailed over the journey)

  1. It needs to be multi user system with hierarchy in place with who does what permissions.
  2. It must manage Inventory (must be extensible e.g. to support unique id (e.g. VIN # of car) tracking, expiry date etc.)
  3. It needs to support work flow or sell / buy order booking
  4. It needs to track the due payments (receivables and payable s)
  5. It needs to manage employee Management activities.
  6. It needs to support automatic accounting functionality
    6.a. It needs to support additional manual entry mechanism in Accounting.
  7. It needs to track basic follow up functionality of customers.
  8. It needs to manage todo s and expenses of employees.
  9. It needs to support customization/ rationalization of the invoices
  10. Taxes reports, expenses reports, Inventory movement reports and so on.
  11. Should support daily cash book reporting etc etc.
  12. It needs to support back dated entries to Authorized employees
  13. It needs to be accessible from any device
  14. Integration with Google APIs, email automation etc.

… and many more… but you get the gist.

We went about the project something like this.

  1. We started with ready theme based on bootstrap.
    (Our UI has gone through total revamp 4 times in 12 months now!)
  2. We decided to stay with default meteor blaze templating.
  3. We went through high usage of pub-sub in the beginning (we tried subsManager, template level subscription etc.) and came to tune it back and rely more heavily on - meteor methods (only on server) mechanism.
  4. We are using iron router for routing purpose. Its wonderful.
  5. We have relied on imports/ folder based directory structure. Very helpful.
  6. We layered the modules in such a way as to be able to support different verticals / domains
    (Range is as wide as 2 wheeler auto dealer, a whole sale distributor, a pharmaceutical distributor,
    and a small hospital’s patient management and reporting and even some small retail shops )
    Along with usage of internationalization package.
  7. For hosting, we used DO basic accounts, is providing fantastic performance
  8. For Deployment, we are relying on MUP ( Thanks to wonderful sharing by community.)
  9. DB Backups - simple shell scripts which are doing daily DB dump and pull in local machines
    (we are planning to replicator so we can offer 100% live)
  10. DO experience, Not a single offline event in 12 months… we are using DO domains for production
    as well as for staging and testing.
  11. We learned and evolved the mechanism to track requirements, defects and all which would work
    perfectly for a small company.

Development using Meteor has been frustrating at times… but again it was because we tried to force our
understanding of how it’s supposed to work rather than whats the meteor is designed to do.

There has been tremendous support from this forum and lots of bloggers out there.

For next Project will I again use Meteor ? Definitely, yes.

If we can design and build such a magnitudes system using meteor and the free packages available out there
(theme was not free… but very inexpensive!), why not?!

Its powerful !
(I have done s/w development mainly using C++ and JAVA in my 20+ yrs of IT career, and this was my first
encounter with Javascript and I can most certainly say that this has been wonderful with Meteor.)

What has been experience of others? Are there some tricks / trades willing to share… that we have missed?

PS:Apologies for unstructured post, doing it in hurry… I have been meaning to do it for a few days now, …don’t want to postpone it any longer. Hope this post is for some value for someone out there.

2 Likes

Hybrid Mobile App build using the meteor’s infra gave us some pain. Haven’t had break through ( or rather haven’t had time to dig deeper to find the solution), it disconnects a lot !..

So we are thinking about writing native android app.
There is one more reason for going down the path of native app, availability of critical functionality (selling , and payments collection from customers) even when there is no connectivity. (probably we will add additional functionality of inventory tracking using mobile scanner in offline mode too.

Has there been success using android app using meteor? I am sure there is. But we haven’t had time to dig deeper to understand whats going wrong. ( I posted on this forum the q.)