What is the best development tools set for building a custom CRM system?

555 views
Skip to first unread message

Ray Welsh

unread,
Aug 9, 2017, 8:58:06 AM8/9/17
to Google Cloud Developers
I would like to prototype and further develop a responsive web front end (mobile app may follow) with database backend for a specialist CRM system.
- what is the best development language for front end screen and business logic creation
- recommendations for the best database
- I'd like to base this all on GCP, but a 3rd party front end form builder may help cut down on the amount of code required
- best sources of guidance on app prototyping 

Jordan (Cloud Platform Support)

unread,
Aug 9, 2017, 12:08:58 PM8/9/17
to Google Cloud Developers
A great first step would be to review our documentation on the different recommended Application Design Patterns on the Google Cloud Platform, all of which are mobile and web friendly. 

It is best to think of the Google Cloud Platform as the brains of your application. You may code an iOS or Android application for phones and/or create a web application hosted on a provider somewhere (such as Google). These applications are called the 'Client' and they run on the User's phone or browser. 

The client then interacts with the brains on the Google Cloud Platform which can be used to connect all of the clients together so that they may share information (such as messages, files, calendars, etc). The Google Cloud Platform can also be used to save a client's user account information and their client interactions so that they may login to another client and see these same changes there; along with so much more. 

- To answer your questions:
  • The best development language for the Client depends on where you plan on deploying it to. For an iOS client I recommended using Swift, an Android client I recommend Kotlin or Java, and a Web application I recommend HTML, CSS, and Javascript. But at the end of the day, this is completely up to you and the languages you are most comfortable with. 
  • The best backend to connect your clients to are based on the Application Design Pattern you chose above (mainly App Engine or Compute Engine). In terms of choosing a backend language, there is no right answer as all languages are supported. I personally use Java but Python and Node.js are also great backend languages.
  • Once you have chosen your backend on Google Cloud, you can then choose which database and storage options you want to connect to it. The best place to make this choice is to follow the Choose a Storage Options page. I recommend using Google Cloud Storage to save all of your client's files to, and the Datastore as your main database to store all client accounts and interactions. Alternatively you can use Firebase for both storage and database. 
  • You can then follow the client samples provided in the Design Guide to create a sample client application that connects to your backend. There are also many tutorials online for developing client applications in the language you chose above. There are also many third-party prototyping applications such as XCode for iOS apps that you can choose from and use to build your client CRM system in the language you chose.
  • Your backend on Google Cloud then simply exposes endpoints that waits for requests from your clients. Once a client makes a request to your backend (e.g log me in) your backend will interact with your database to fulfill the request and send the information back to the client. There are many guides for accepting requests from clients and interacting with storage and databases based on the Google products and backend language you chose. 

Ray Welsh

unread,
Aug 10, 2017, 9:01:27 AM8/10/17
to Google Cloud Developers
Thanks for all the information Jordan.  Let me digest it and read the material at all the links provided. I'll come back to you if I have more questions.  Thanks, Ray.
Reply all
Reply to author
Forward
0 new messages