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)
- It needs to be multi user system with hierarchy in place with who does what permissions.
- It must manage Inventory (must be extensible e.g. to support unique id (e.g. VIN # of car) tracking, expiry date etc.)
- It needs to support work flow or sell / buy order booking
- It needs to track the due payments (receivables and payable s)
- It needs to manage employee Management activities.
- It needs to support automatic accounting functionality
6.a. It needs to support additional manual entry mechanism in Accounting.
- It needs to track basic follow up functionality of customers.
- It needs to manage todo s and expenses of employees.
- It needs to support customization/ rationalization of the invoices
- Taxes reports, expenses reports, Inventory movement reports and so on.
- Should support daily cash book reporting etc etc.
- It needs to support back dated entries to Authorized employees
- It needs to be accessible from any device
- Integration with Google APIs, email automation etc.
… and many more… but you get the gist.
We went about the project something like this.
- We started with ready theme based on bootstrap.
(Our UI has gone through total revamp 4 times in 12 months now!)
- We decided to stay with default meteor blaze templating.
- 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.
- We are using iron router for routing purpose. Its wonderful.
- We have relied on imports/ folder based directory structure. Very helpful.
- 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.
- For hosting, we used DO basic accounts, is providing fantastic performance
- For Deployment, we are relying on MUP ( Thanks to wonderful sharing by community.)
- 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)
- DO experience, Not a single offline event in 12 months… we are using DO domains for production
as well as for staging and testing.
- 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
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.