Table of Content | Read Next: Part 2 - Build a server using Node.js with Express
Resources
Would you rather watch a video to learn this content? Click on the link below!
Do you want access to the GitHub repo that contains the code covered in this series?
What are we building?
We will be building an Earthquake Watch app that enables the users to search for earthquakes.
By specifying the quake type, magnitude, location, and date range, the user can retrieve earthquakes that match the user input. The search results could be also sorted by ascending or descending order of magnitude.
Upon sending the request, the results are displayed in the form of cards containing detailed information about each earthquake.
App Architecture
The following diagram illustrates our app architecture:
We will build a full stack web app using Node.js with Express(server) and React(client). Next, we will connect Elastic Cloud to the server.
Data Ingestion
Elastic Cloud hosts Elastic products including Elasticsearch and Kibana.
Once the server is connected to Elastic Cloud, we will ingest data into Elasticsearch hosted on Elastic Cloud.
We will be ingesting global earthquake data from the USGS API.
The server will be in charge of fetching the data from the USGS API. Upon fetching the data, the server will send the data to Elasticsearch. Elasticsearch in turn will transform the data and ingest the data into an index.
Set up the app for search
After data is ingested into Elasticsearch, we will set up our app for search!
The client will display a set of criteria a user can select to search for earthquakes.
Once the user selects the criteria and clicks on the search button, the client will send the user input to the server. The server in turn will pass the user input into a Elasticsearch request and send the request to Elasticsearch.
Upon receiving the request, Elasticsearch will retrieve relevant results and send the results to the server. The server will send the results to the client which will display the results for the user.
Data Visualization
Learning how to connect Elasticsearch to our app and searching for information is a great way to explore our data.
In this series, we are going to explore our data even further by using Kibana to visualize earthquake data in Elasticsearch!
We will learn how to create these visualizations using Kibana Lens!
Move on to Part 2 to build a server using Node.js with Express!
Top comments (0)