CUstomer RElationship Management made easy. Curem is a light weight CRM written in Go, with jsonapi supportand backed with MongoDB. It can be consumed by any client which can understand and work with JSONapi.
Basically a lead has 2 sides to it: external and internal.
- External side corresponds to the information about clients and customers. We can try to avoid duplication but it’s not necessary. For example, if we get multiple leads from same person / customer, even if there is duplication, I should be able to figure it out. Normalization is not necessary as it adds to complexity.
- Internal side corresponds to the lead source, who’s handling it, what’s quoted, team size, start date and various comments.
This is how we are building this application.
Build a Go application that can manage leads. We write test cases for CRUD operations for lead management. Data should be persisted in MongoDB. NO APIs and NO WEB front.
We write a jsonapi layer on top of this and expose the resources properly. If we can make this a Go package, it’s great, otherwise, it serves as an example. Lots of test cases that will fire Json api and get back results.
We write a the client side web front - responsive, cached using Angular, Ember etc. and showcase this.
- Fork it https://github.com/joshsoftware/curem/fork
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request