Own CRM to get used by other application [closed] - grails

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
We built our own CRM for our web application which has several other functions.
Now we got the request from the management that also another web application should use our CRM.
Our current web application is a monolithic one, which means that everything is in one big web application developed with Grails.
The first idea from one DEV was to create a REST API so that they can use our CRM functionality and customers are created in our application/DB and will always get synced back to their application.
I think this is not the best idea and much better would be to screw out our CRM from the monolithic web application and make a stand-alone version of it (microservice). This stand-alone version should then be configurable for things like DB, file storage, entities, workflows, ...
What do you guys think about it and maybe does one has another good idea for this specific use case?

If you can refactor your existing CRM code into Grails plugins then you can use these plugins in your current application and future Grails applications that need CRM functionality. We are using this approach and have 10+ Grails applications in production and almost all of them are using the same set of CRM plugins.
If you like to see how we split up the domains/contexts you can find the plugins here: http://gr8crm.github.io
However we are currently in the process of migrating all CRM plugins to separate microservices (Spring Boot and Micronaut) but it's a huge effort. My advice is to think carefully before you go that route. If you can break out isolated functionality in your current monolith into microservices step by step, then it could be worth trying. But replacing all features in your current CRM with microservices will probably take longer than you expect.

Related

Algolia vs Elasticsearch in ecommerce [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I am adding react to a rails ecommerce website and also changing the search engine from sphynx to algolia. For this I am using react-instantsearch but I'm having a hard time integrating algolia's widgets mainly because the documentation is very unclear and I'm not sure how things are working behind the scenes. I was wondering if it would be better to use elasticsearch instead, as everything is more customisable, but I worry that the user experience will not be so spectacular.
Which one do you think is best in this situation?
Disclaimer: I'm an elastic employee
You should give a try to the site search offer that elastic provides. See https://www.elastic.co/solutions/site-search
It's a great way to get Site Search as a service without having to worry about the internals.
If you prefer to have more control but don't want to manage the cluster by yourself, have a look at https://cloud.elastic.co.
If you want to do all that manually or go to the open source only way, you can run an instance somewhere in the cloud and install elasticsearch manually.
I can't say about Algolia as I never used their service.
Disclaimer: I'm an Algolia employee.
You can achieve a very high degree of customization with Algolia and React InstantSearch. If you are having trouble customizing the widgets (which are designed to be drop-in) you can try Connectors instead:
Connectors are higher order components. They encapsulate the logic for a specific search concept and they provide a way to interact with the instantsearch context.
Internally, the widgets are just pre-packaged implementations of Connectors. If there is a particular widget/connector you are having an issue with, add a comment and I'm happy to look into it!

Should I add mid-tier (like Java or Node) when working with iOS and Parse (or any other cloud based SDK)? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I am pretty new to iOS and I am planning to start one iOS native application with Parse/AWS or any other cloud based DB handling. Is this a good practice or I should include mid-tier like Java and let my app talking to it instead of directly dealing with Cloud? My question is around security and scalability of my application. If I include a mid-tier then I think I can use that as an API with in Android version of my same app as well and which will make things easier for me to handle.Share your thoughts please.
First, great question. I am a long-time user of Amazon web services, where I call for the database without a middle tier. I find that the cloud balances the load well, spins up new resources well, and generally responds well.
As for the security element, you are really sending authenticated requests directly into the cloud, not to a given server. Hence, making a round trip to a specific server (linux + java) is no longer necessary. The cloud can accept datagrams with authentication information loaded.
I am not a parse person, so I may not get this answer voted, but AWS uses a security service called IAM (Identity and Access Management) which forces you to define a pool of permitted resources in your cloud. I imagine that Parse provides comparable services (if not, perhaps consider the AWS cloud), since this is how you are able to call for the database without a middle server tier.

Is there a lightweight Groovy web framework other than Grails? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
Grails is great. Yet, sometimes, we just need a quick, lightweight web framework. Is there such a thing out there?
Ratpack
Ratpack is inspired by the excellent Sinatra framework for Ruby, and aims to make Groovy web development more classy.
If you are utilising the Google App Engine, there is Gaelyk
I haven't used them personally but Gaelyk is built on top of Groovlets I believe: http://groovy.codehaus.org/Groovlets
Portofino is written in Java and Groovy. The basic idea of Portofino is to automatically analyze the structure of an existing database, create a basic application structure, and then customize, handle permissions, etc.
If you have an existing relational database, this is a quick and easy way to bring it on-line with a nice user interface.
How about just using spring boot and write everything in groovy.
You can use the Spring Initializr to generate a brand new project with the required stack baked in
With Grails 3 you can to create an ultralight application with the next command
grails create-app appName --profile=web-micro
Update: With Grails 3.1.0 the option is
grails create-app appName --profile=web-api
The generated application is stripped with only the necessary dependencies to create a restful api.
Caelyf - Lightweight Groovy toolkit for Cloud Foundry. Caelyf
Gretty - Simple groovy++ web framework for both building web servers and clients. Built on top of netty and NIO. groovypp/gretty
Graffiti - lightweight web framework for Groovy inspired by Sinatra
webdevwilson/graffiti

Using Lua for web development? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
What issues or gotchas will I run into if I develop web applications in Lua; is there anything I should be aware of before starting?
Any experience with developing Lua web applications?
The web application framework based on Lua that gets a lot of discussion in the Lua community is the Kepler project. The Kepler team provides integration with web servers (especially Apache), a web server of their own, useful modules, and a working MVC application framework called Orbit.
Several other projects work with or on top of Kepler's foundation. A prominent one that demonstrates that Kepler can be used for real work is Sputnik, a very flexible and extensible CMS that functions as a Wiki out of the box but which can be extended to do many other things.
Speaking from personal experience, I built a control interface for an embedded system using Kepler's Lua Pages to render and process the forms and reports without much hassle as only my second or third real Lua project. That system is still in use and I would do it again.
take a look at http://openresty.com/ (nginx and lua/luajit, async)
Go ahead and give it a shot! Lua is a very nice language.
Another MVC framework based on Lua is also Luci.
Interesting concept. I think one of the things you need to consider is which webserver do you plan to use? I think the webserver support for Lua would be flaky at best, no offense to anyone involved but its just not a common web platform.
With that said, however, the Lua Libraries And Bindings lists quite a few components that you could seemingly leverage for your efforts. I looked the list over and all things common to the web are there: databases, regex, network, zip, crypto, xml, images, etc. There's even a couple of web frameworks, so perhaps this is less rare than I thought?

Project integration in Grails [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I am doing a few tutorials and done some demo applications in Grails.
Suppose I have more than one project made in Grails and I want to integrate all these projects in to a single application, how do I do it?
For eg: I have made a 'To do list' and 'on-line examination' and now I want to create a new application that would incorporate both these applications.
Thanks
Another way to do this would be by re-packaging one (or both) of your projects as a plugin. That would allow you to keep them in separate code bases if you need to.
A plugin IS a regular Grails application (you can run it with grails run-app), so the switch over shouldn't be difficult.
The BEST way to create reusable modules in Grails is to package them as Grails plugins. As it was mentioned already, a Grails plugin IS a regular Grails web application (with a standard layout) with additional meta data, so it helps the GrailsPluginManager component to incorporate plugins into other applications.
I'd highly recommend the book which covers most of the aspects of the Grails plugin system pretty well. It even shows the example of how to wrap the 'regular' blogging app as a plugin and incorporate into another Grails application.
Copy all the files from one project into the other's directory structure and merge all files that are present in both - shouldn't be too many since "convention over configuration" means you don't have many global configuration files.
A diff/merge tool that handles directory diffs will probably make this much easier.

Resources