From the blog

TCoffeeAndCode: Data Visualization – Components, Libraries, Tools and Services

This blog post contains information, tools and links that I will discuss and demo during today’s TCoffeeAndCode webinar on Data Visualization.   What Inspired My Data Vizualization Journey – The Joy of Stats / GapMinder “Our mission is to fight devastating ignorance with a fact-based worldview everyone can understand.” Founded in Stockholm on 25 February 2005 by Ola Rosling, Anna Rosling Rönnlund, and Hans Rosling. Hans gave his first TED talk, called, “The best statistics you’ve ever seen” in 2006. https://www.ted.com/talks/hans_rosling_the_best_stats_you_ve_ever_seen https://www.gapminder.org/videos/the-joy-of-stats/ https://www.gapminder.org/ https://www.gapminder.org/tools-offline/ Programming Delphi C++Builder Python Components and Libraries FMX Draw2d 3d TeeChart – VCL and FMX GigaSoft Pro Essentials – VCL – https://www.gigasoft.com/ FastReports FastCube Python4Delphi (and C++Builder) – via visualization packages https://github.com/pyscripter/python4delphi https://blogs.embarcadero.com/python-for-delphi-developers-webinar/ https://blogs.embarcadero.com/using-python4delphi-with-cbuilder-vcl-applications/ Ray Konopka white paper and webinar replay Seeing-is-Believing-Data-Visualization-in-Multi-Device-Apps Ray Konopka White paper download and on-demand webinar replay https://www.embarcadero.com/rad-in-action/data-visualization Python Visualization Libraries https://mode.com/blog/python-data-visualization-libraries/ https://analyticsindiamag.com/top-5-python-libraries-for-data-visualization/ https://www.analyticsvidhya.com/blog/2020/03/6-data-visualization-python-libraries/ Data visualization blogs to follow https://informationisbeautiful.net/ https://flowingdata.com/ https://www.storytellingwithdata.com/blog https://www.visualisingdata.com/ https://junkcharts.typepad.com/ https://pudding.cool/ https://www.economist.com/graphic-detail Interactive Things https://www.interactivethings.com/ https://blog.interactivethings.com/ Other Tools and Services GapMinder – https://www.gapminder.org/ and Gapminder Desktop Google Public Data Explorer – https://www.google.com/publicdata/directory Tableau – https://www.tableau.com/ Datawrapper – https://www.datawrapper.de/ MicroStrategy Analytics – https://www.microstrategy.com/en Qlik Sense – https://www.qlik.com/us/ Oracle Analytics Cloud – https://www.oracle.com/middleware/technologies/oracle-analytics-cloud.html Microsoft Resilience – https://www.microsoft.com/en-us/resilience/ Sisense – https://www.sisense.com/ Grow – https://www.grow.com/ Conversionomics – https://conversionomics.com/ Qrvey – https://qrvey.com/ Zoho Analytics – https://www.zoho.com/analytics/ Domo – https://www.domo.com/ Sources of Data The World Bank https://www.worldbank.org/en/home World Bank Open Data – https://data.worldbank.org/ World Bank Data Catalog – https://datacatalog.worldbank.org/ Kaggle.com – data sets for data scientists https://www.kaggle.com/datasets US Census https://data.census.gov/cedsci/ https://covid19.census.gov/ https://www.census.gov/library/visualizations/interactive/2020-complete-count-committees.html Data Gems – highlighted examples of census data https://www.census.gov/data/academy/data-gems.html Jackson County, Oregon Profile https://data.census.gov/cedsci/profile?g=0500000US41029 Ashland City, Oregon Profile https://data.census.gov/cedsci/profile?g=1600000US4103050 DATA GEMS: How to Use the COVID-19 Data Hub https://www.census.gov/data/academy/data-gems/2020/how-to-use-the-covid-19-data-hub.html DATA GEMS: How to Visualize your Data Using Thematic Maps on data.census.gov https://www.census.gov/data/academy/data-gems/2021/how-to-visualize-your-data-using-thematic-maps-on-data-census-gov.html DATA GEMS: How to Visualize Data for Your Area on data.census.gov https://www.census.gov/data/academy/data-gems/2019/visualize-data.html More Inspirations Information is Beautiful https://informationisbeautiful.net/ https://informationisbeautiful.net/blog/ https://informationisbeautiful.net/data/ https://www.informationisbeautifulawards.com/ https://www.informationisbeautifulawards.com/news/10-2013-the-winners Why is Data Visualization Important? What is Important in Data Visualization? https://hdsr.mitpress.mit.edu/pub/zok97i7p/release/3 See The 25 Most Beautiful Data Visualizations Of 2013 https://www.fastcompany.com/3022248/see-the-25-most-beautiful-data-visualizations-of-2013 Beautiful Visualizations https://www.pinterest.com/ascii27/beautiful-visualizations/ Learn how to create beautiful and insightful charts with Python — the Quick, the Pretty, and the Awesome https://towardsdatascience.com/plotting-with-python-c2561b8c0f1f Tableau Public Gallery https://public.tableau.com/en-us/gallery/?tab=featured&type=featured https://public.tableau.com/en-us/gallery/?tab=viz-of-the-day&type=viz-of-the-day Build your own Animated Data Visualization in Tableau in Just 5 Minutes https://www.analyticsvidhya.com/blog/2020/06/animated-data-visualization-tableau-5-minutes/ Additional Resources Magnificent print visualizations http://www.thefunctionalart.com/2016/05/magnificent-print-visualizations.html Web App Masters: Steps to Beautiful Visualizations https://www.lukew.com/ff/entry.asp?1284 Create High-Impact Data Visualizations: Nine Effective Strategies https://www.kaushik.net/avinash/tag/data-visualization/page/2/ Data Visualization Aurora.txt – A Bit of History The… https://www.coursehero.com/file/58980014/Data-Visualization-Auroratxt/ Marvelous Maps https://www.esri.com/about/newsroom/arcwatch/marvelous-maps/ http://1millionhealthworkers.org/operations-room-map/day-life/ Books Beautiful Visualization: Looking at Data through the Eyes of Experts (Theory in Practice) Paperback – July 13, 2010 https://www.amazon.com/Beautiful-Visualization-Looking-through-Practice/dp/1449379869 The Visual Display of Quantitative Information 2nd Edition https://www.amazon.com/Visual-Display-Quantitative-Information/dp/0961392142/

Read More

Ultimate Hockey Playview Application Is Delphi Powered

Hockey is an immensely popular sport in North America, both in the USA and with Canada their Northern neighbors. Just to be clear for our British and European readers, in this article we are referring to the form of hockey played on ice-rinks, not the version played on grass. What does the Hockey Playview app do? With Hockey Playview coaches and players can view animated plays, drills and practice plans on their phone or tablet. Hockey plays, drills and practice plans can be created with the Hockey Playbook program from Jes-soft, which is free to try and available at http://www.jes-soft.com/hockey/index.html. The playbook desktop program is compatible with Windows modern versions including Windows 10. Create your plays and practice plans on your desktop. Save them to your cloud drive (gdrive, Dropbox for example). Open the plays and practice plans on your mobile device from your cloud drive. The mobile app takes the data entered in the desktop and integrates with it to allow the visualizing of the plays and tactics. Jes-Soft’s website Website Hockey Playview Apple Store Hockey Playview Google Play Hockey Playview Screenshot Gallery Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder. Design. Code. Compile. Deploy.Start Free Trial   Upgrade Today    Free Delphi Community Edition   Free C++Builder Community Edition

Read More

Learn To Build A Powerful WhatsApp Chatbot With Twilio

Chatbots have managed to save many huge amounts of time and money for the customer service industry. Increasingly, companies are creating chatbots using well known and widely-used social media and communication apps which have expanded their platforms to offer services specifically targeted at this kind of market. An example is WhatsApp and their WhatsApp Business API. In this post, we will create a simple chatbot for WhatsApp using that API and communication platform Twilio. Chatbots are applications that simulate a human conversation. Typically they help customer services departments answer online questions, saving time and money while also providing an alternate method for customers to engage and interact with staff. It is also possible to use chatbots to automate certain repetitive processes such as obtaining delivery schedules for orders, requesting refunds or pointing customers to additional areas such as on-boarding. Some chatbots are based on simple mechanisms which match parsed text input with a raft of likely answers matching keywords extracted from that parsed data. Others are more subtle and complex and use artificial intelligence to perform their tasks. What is the WhatsApp Business API? It is a solution to help companies that want to scale up their messenger service and can be integrated with service management platforms. To obtain an account it is necessary to seek a Solution Partner. They are companies that provide the infrastructure for the operation of the service. Twilio is the world’s leading cloud communication platform and is one of the Solution Partners of WhatsApp. It is aimed at companies that need communication services to integrate with their systems. Twilio operates in the pay-as-you-go format, with no contracts. Also, it offers a Sandbox to develop applications for free. How do I to create a Twilio account ? Go to the Twilio website at https://www.twilio.com and create an account. Go to your console and check your ACCOUNT SID and AUTH TOKEN. On the left panel, click on the message icon, then settings and WhatsApp Sandbox Settings. You will see: As it says, you need to send, in my case, the message ‘join poet-earth’ to that number. If you receive the message below, you are all set and ready to go: How do I create a simple Delphi WhatsApp chatbot application? To receive messages we need a server API. When someone sends a message, Twilio will get it and make an HTTP Post in an endpoint. The endpoint needs to be informed on Twilio Sandbox (When a message comes in): On your application, in that endpoint, you can grab the data and send a response, based on the message received. To create the Server API, we will use the Delphi MVC Framework. You can check an easy implementation of it, here and also, how to expose your API endpoint with ngrok. Also, you will want to use a ‘Twilio Client’. Download the TwilioClient.pas here and add it to your project. How to create Twilio client application with Delphi After creating a DMVC project and added the TwilioClient, go to your controller, add an endpoint: [MVCPath(‘/messages/receive’)] [MVCHTTPMethod([httpPOST])] procedure Receive(WebContext : TWebContext);     [MVCPath(‘/messages/receive’)]     [MVCHTTPMethod([httpPOST])]     procedure Receive(WebContext : TWebContext); Also, add as const your account sid and auth token as strings. On the receive procedure, you can access data through: This returns a string with data so, we just need to […]

Read More

Whitepaper: RAD Studio – Should I Choose Enterprise?

RAD Studio, Delphi® and C++Builder® are available in Professional, Enterprise and Architect editions. This paper explores the differences between the Professional and Enterprise editions to help you choose the right edition for your needs. The Professional Edition of RAD Studio, Delphi® and C++Builder® is ideal for developers creating desktop and mobile applications with high speed and performance, and applications connecting to local peripherals and devices. Developers choose the professional edition for the deepest Windows 10 APIintegration in the market, plus rapid low-code application prototyping with stunning native UI, providing the best end user experience. The Enterprise Edition of RAD Studio, Delphi® and C++Builder® includes all the power of the Professional edition, plus a host of powerful enhancements and additional libraries for highly connected application development and secure mobile data storage. Keep reading to discover more about those. This paper is for those looking to choose the right edition of RAD Studio, Delphi® or C++Builder® for themselves or their team, or those looking to validate their reason to jumpstart their development with a higher edition.  

Read More

Powered By Delphi: Rapid Prime Numbers Calculator For Kids

I remember being taught Prime Numbers at school. I’m sure you, like me, were told “a prime number can only be divided by itself and one“. It was a lot to take in at that early age when we were all still learning how to tie shoelaces so they stayed tied and questioning why we had to eat our vegetables instead of just surviving on ice cream. How do you make Prime Numbers fun? Unlike for most of our childhoods, kids today have access to the wonder of the internet and a plethora of mobile devices. These devices are a source of fun but we can carefully combine fun things with learning too. Spanish Developer Demontriz programacion a medida SL, based in Madrid, try to help with learning primes in this simple mobile app using the FireMonkey FMX framework. What does the Prime Numbers app do? The app can answer questions like “is the number 8 prime?” No, it can be divided by 2. “How about the number 121? By 3, no. By 7, no. By 11, yes, it can be divided by 11”. The application lists the first 5000 primes. I you don’t find the number you are looking for you can enter the number and the application will check to see if it is either prime or one of the factors. Website Prime Numbers Google Play Prime Numbers Screenshot Gallery Do you think you have an idea for a mobile app? Why not download a trial copy of RAD Studio Delphi and start creating today? It’s easy.

Read More

How Easy Is It To Add A REST API To Your Own Apps?

unit employee;   interface   uses   Horse, System.JSON, sysutils;   procedure Get_Employees(Req: THorseRequest; Res: THorseResponse; Next: TProc); procedure Get_Employee(Req: THorseRequest; Res: THorseResponse; Next: TProc);   implementation   procedure Get_Employees(Req: THorseRequest; Res: THorseResponse; Next: TProc); var   LRespArr: TJSONArray;   LRespObj: TJSONObject;   LEmployee1, LEmployee2, LEmployee3, LEmployee4, LEmployee5: TJSONObject; begin   LRespObj:= TJSONObject.Create;   LRespArr:= TJSONArray.Create;   LEmployee1:= TJSONObject.Create;   LEmployee2:= TJSONObject.Create;   LEmployee3:= TJSONObject.Create;   LEmployee4:= TJSONObject.Create;   LEmployee5:= TJSONObject.Create;   try     LEmployee1.AddPair(TJSONPair.Create(‘id’, TJSONNumber.Create(1)));     LEmployee1.AddPair(TJSONPair.Create(‘name’, ‘Employee1’));       LEmployee2.AddPair(TJSONPair.Create(‘id’, TJSONNumber.Create(2)));     LEmployee2.AddPair(TJSONPair.Create(‘name’, ‘Employee2’));       LEmployee3.AddPair(TJSONPair.Create(‘id’, TJSONNumber.Create(3)));     LEmployee3.AddPair(TJSONPair.Create(‘name’, ‘Employee3’));       LEmployee4.AddPair(TJSONPair.Create(‘id’, TJSONNumber.Create(4)));     LEmployee4.AddPair(TJSONPair.Create(‘name’, ‘Employee4’));       LEmployee5.AddPair(TJSONPair.Create(‘id’, TJSONNumber.Create(5)));     LEmployee5.AddPair(TJSONPair.Create(‘name’, ‘Employee5’));     LRespArr.AddElement(LEmployee1);     LRespArr.AddElement(LEmployee2);     LRespArr.AddElement(LEmployee3);     LRespArr.AddElement(LEmployee4);     LRespArr.AddElement(LEmployee5);       LRespObj.AddPair(TJSONPair.Create(‘r’, TJSONBool.Create(true)));     LRespObj.AddPair(TJSONPair.Create(‘m’, ‘Success’));     LRespObj.AddPair(TJSONPair.Create(‘d’, LRespArr));       Res.Send(LRespObj.ToString);   finally     LRespObj.Free;   end; end;   procedure Get_Employee(Req: THorseRequest; Res: THorseResponse; Next: TProc); var   LRespObj: TJSONObject;   LEmployeeSelected: TJSONObject;   id: Double; begin   id := StrToFloat(Req.Params[‘id’]);     LRespObj := TJSONObject.Create;   LEmployeeSelected := TJSONObject.Create;   LEmployeeSelected.AddPair(TJSONPair.Create(‘name’, ‘Employee’+Req.Params[‘id’]));   LEmployeeSelected.AddPair(TJSONPair.Create(‘id’, TJSONNumber.Create(id)));     LRespObj.AddPair(TJSONPair.Create(‘r’, TJSONBool.Create(true)));   LRespObj.AddPair(TJSONPair.Create(‘m’, ‘Success’));   LRespObj.AddPair(TJSONPair.Create(‘d’, LEmployeeSelected));   res.Send(LRespObj.ToString); end;   end.

Read More

5 EASY Ways To Integrate Image Processing In Your Apps

What does image processing mean? According to Gonzalez and Rafael in 2018, Image Processing or Digital Image Processing refers to processing digital images using a digital computer. Note that a digital image is composed of a finite number of elements, each element has a particular location and value. These elements are called picture elements, image elements, pels, and pixels. Pixel is the term used most widely to denote the elements of a digital image. Since images are defined over two dimensions (perhaps more), digital image processing may be modeled in the form of multidimensional systems. How is digital image processing better? As a subcategory or field of digital signal processing, digital image processing has many advantages over analog image processing. It allows a much wider range of algorithms to be applied to the input data and can avoid problems such as the build-up of noise and distortion during processing. The generation and development of digital image processing are mainly affected by three factors: First, the development of computers; second, the development of mathematics (especially the creation and improvement of discrete mathematics theory); third, the increasing demand for a wide range of applications in environment, agriculture, military, industry, medical science, etc. Image Processing is frequently used in ‘Computer Vision’. Don’t be confused-we are going to talk about the difference between these terms and how they connect. Image Processing vs Computer Vision The main difference between Image Processing and Computer Vision approaches is the goals (not the methods used). For example, if the goal is to enhance an image for later use, then this may be called image processing. If the goal is to emulate human vision, like object recognition, event detection, or automatic driving, then it may be called computer vision. Both Image Processing algorithms and Computer Vision (CV) algorithms take an image as input; however, in image processing, the output is also an image, whereas in computer vision the output can be some features/information about the image. Read our previous article about Computer Vision here: Why use Python for Image Processing? Now, almost every image processing or computer vision library has a form of scripting interface in its main functions. Most of the time, this scripting language is Python (this article shows the power of Delphi to provide a nice GUI for Python scripting power). Developers favor this particular ecosystem because of the following: Easy to learn and easy to use, without losing the quality of programming decisions. Python has been on the market for a long time and has been established. Python continues to evolve dynamically. With Python, you can use the coolest OOP solutions and you can write simple and effective code. Python provides a huge number of libraries that solve the whole range of programming problems. How to use Pillow, Matplotlib, scikit-learn, scikit-image, and Mahotas Python libraries to perform Image Processing tasks All of them would be integrated with Python4Delphi to create Windows Apps with Image Processing capabilities. Prerequisites Before we begin to work, download and install the latest Python for your platform. Follow the Python4Delphi installation instructions mentioned here. Alternatively, you can check out the easy instructions found in the Getting Started With Python4Delphi video by Jim McKeeth. Time to get Started! First, open and run our Python GUI using project Demo1 from Python4Delphi with RAD […]

Read More

Incredible Wind Triangle Solving App Is Made In Delphi

We’ve written before about some of the wonderful ways Delphi developers are helping pilots with the difficult job of defying gravity in their aircraft. The reliability of Delphi applications and the cross-platform power of FireMonkey FMX framework, combined with the skillful craftwork of the software engineer seems to lend itself very neatly to solving problems. Aviation is one of those areas in which modern mobile devices can be the perfect tool to assist with the mind-boggling situations and tasks a pilot must address. Creating a mobile application with RAD Studio and Delphi is extremely easy – freeing up the developer to focus on the complexities of the problem rather than being bogged down in making the mobile app actually work. E6B is a flight computer and it’s written in Delphi The E6B app, from Delphi Developer Micriconsult based in Oostende in Belgium, is a mobile app which solves a “wind triangle” for pilots of light aircraft. The users enter four values out of six. The six values are three speeds and three angles. The app calculates the remaining two unentered values of the six. Micriconsult says  “it then explains how you get these results with a flight computer, by animating it. It rotates the disk, slides it and add marks. It also shows what value to use for each step towards the solution. This app runs on Android devices and preferably on tablets. On devices with smaller screens, you may need to zoom.” What are the features of The E6B Flight Computer app? E6B solves any kind of wind triangle problem and explains how to find those results on a regular flight computer. It contains an accurate visualization of a flight computer. Each of the different steps are animated toward a solution. Users can tap the “explain” tab to get a short explanation of the app. The app supports zooming in (two fingers gesture) and pan (one finger gesture) to ease accessing the data entry controls or to enlarge a part of flight computer. It supports portrait and landscape layout. Users can change the language to the language settings of the Android device. Available languages are English (Default), French, German, Spanish and Dutch. Google Play E6B Basic Flight Computer Screenshot Gallery

Read More

Implementing A Blazing Fast IoT Network With MQTT

What is IoT? The IoT term defines the concept of internet-connected physical devices that can send and/or receive data. To exchange data easily, a protocol of communication must be used in order of any devices can communicate with another one. The only requirement is that all devices must communicate in an agreed way. For IoT, the MQTT protocol is one of the top choices. What is MQTT? MQTT is short for Message Queuing Telemetry Transport. It’s a communication protocol Machine-to-Machine (M2M) designed initially for networks with low bandwidth and preferably bi-directional. It was developed for gas and oil industries in 1999, a time when the network bandwidth was typically very low. Its usage was extended to IoT, automation and is used by Facebook for its well-known Messenger product. Here is an overview of MQTT See below a schema of a typical MQTT protocol architecture: What are MQTT entities? This architecture is Client/Server with an implementation of publish/subscribe. There are three roles in this protocol : The Broker : The broker acts like the server of a network using MQTT. All messages go through it but its only role is to send messages to the targeted clients. The Publishers : these entities send data. The Subscribers : these entities receive data. A client application using the MQTT protocol can be a publisher or a subscriber or even both. How do I build an MQTT message? To summarize: an MQTT message is built with a title that we name Topic. The Topic is a string written with some rules. Some data can be exchange in addition of the Topic to complete the message. We can draw a parallel between MQTT call and REST call like this by comparing the MQTT Topic with URL endpoint in REST. Subscribers ‘listen’ to a message Topic and Publishers send message with a specified Topic. The Broker forwards messages to Subscribers that listen the specified Topic in the message. A client of MQTT network can subscribe to multiple Topics and publish multiple Topics too. MQTT is an extremely flexible messaging protocol to use in your Delphi and C++ Builder applications. What are the rules of writing MQTT Topics? MQTT Topics are structured in a hierarchy similar to folders and files in a file system using the forward slash ( / ) as a delimiter. Some exemples / /house /house/livingroom/conditioner /house/livingroom/lights MQTT protocol introduces some possible wildcard in the Topic : # (hash character) – multi level wildcard + (plus character) -single level wildcard Then a client subscribing to /house/# will listen all message starting with /house . A client subscribing to /house/+/lights will listen to all messages which match the “lights” wildcard specifications (for example living room, kitchen bathroom). It can be used to switch on or off all lights of the house. To develop a Delphi MQTT client, we will use ready-made component provided by TMS Software : TTMSMQTTClient component available for Windows/Android/IOS/Linux. TMS Software provides an installation package with a trial version here. You can use the TTMSMQTTClient component to easily implement MQTT Let’s have a look at the component provided by TMS Software. How do I connect to an MQTT server? This component provides of course several properties. To connect to a MQTT server the minimum settings to set are : BrokerHostName : host name where the MQTT […]

Read More

Powerful Dashboards with REST API & Delphi MVC Framework

The Delphi MVC framework (DMVC) is a popular and powerful framework for web solution, that allows the MVC architecture in Delphi. With it, we can create powerful RESTful servers without effort. In this article we will make a Delphi MVC example and create a dashboard through Serenytics using their REST API. A REST API is an application program interface (API) that uses an architectural style, based on representational state transfer (REST), allowing interactions between REST web services. An API is a set of requests that allow data communication between applications. It uses HTTP requests for data manipulation. REST is a set of restrictions used so that HTTP requests meet the guidelines defined in the architecture. Therefore, REST API means using an API to access back-end applications, so that this communication is done with the standards defined by the Rest architecture style. Creating a Simple REST API Using Delphi MVC Framework To follow our example of creating a simple REST API server in Delphi you need to first install the extremely popular and well-respected Delphi MVC Project – from Embarcadero MVP Daniele Teti – which can be found at this link: https://github.com/danieleteti/delphimvcframework There is an install guide for DelphiMVC, here: https://github.com/danieleteti/delphimvcframework#install-the-latest-stable-version After the installation, go to your Delphi and create a new DelphiMVC Project. You should see a screen like this: Create some classes to use with Delphi MVC and the REST API In this case, I’m getting data from a customer table on my database so, I change the field ‘Controller Class Name’ to TControllerCustomer. If you open your controller, you can see endpoints and methods already created. We need to implement the ‘GetCustomers’ to expose the data but, first, we need to get this data from somewhere. Create a new unit that is gonna be our Model. A Model is a class representation of the data. Our Customer Model looks like this: Finally, create a function to get the data from the database but remember to return a list of your model. In our case: On the Controller unit, go to GetCustomers and call the function you created. Now we need to convert the objects list to JSON. DMVC makes it easy for us with the ‘Render’ method. To convert a list of objects, we can do: Render(TCustomer.GetAllCustomers); RenderTCustomer>(TCustomer.GetAllCustomers); Example results from a Delphi MVC application That is all you need to do. If you run your application and go to the path of the method, you will see: How do I create a dashboard with Delphi using a REST API? Now you have your API endpoint and you can use it to feed an AI, a mobile app, another application, and, of course, create dashboards. As I said in my introduction, I will be using the Serenytics website for this. The Serenytics dashboard visualization is free to use. First, create an account with Serenytics. Then, on the left menu of the main screen, go to DATA and then add ‘New data Source’. Choose WebServices & API and finally, REST API. Note that Serenytics cannot access ‘localhost’ domains. Getting and running the ngrok application We are going to use an application called “ngrok” to help us test our Delphi application. Go to the official ngrok website’s download section here: https://ngrok.com/download Download the ngrok application. When we run ngrok creates […]

Read More