Building client-server Applications
Overview
When building web applications in JavaScript with Weaviate using the weaviate-client, it is recommended that you employ the client-server architecture.
This may vary depending what tools you are using to build your web application.
Fullstack frameworks like Next.js have support for server side development and API creation to communicate with Weaviate. This would happen via REST calls or for Next.js specifically, Server functions. This approach means coupling your client and server applications.
Backend web frameworks like Express let you create an API to communicate with Weaviate. This API can be consumed via REST calls from your client application. This approach means completely decoupling your client and server applications.
Prerequisites
- A Node.js environment with
weaviate-client
installed. - Familiarity with Weaviate's search capabilities.
- Some experience building Modern Web Applications with JavaScript.
- Intermediate coding proficiency (e.g. JavaScript).
Learning objectives
What are these?
- Learning Goals describe the unit's key topics and ideas.
- Learning Outcomes on the other hand describe tangible skills that the learner should be able to demonstrate
Here, we will cover:
Learning Goals- What the client-server approach is and why we use it.
- Implementing Semantic search in Fullstack Web frameworks with Weaviate using the client-server approach.
- Implementing Semantic search in Backend Web frameworks with Weaviate using the client-server approach.
By the time you are finished, you will be able to:
Learning Outcomes- Explain where in the client-server architecture of your Web Applications Weaviate can be used.
- Integrate semantic search functionality into new or existing Backend and Fullstack Web Applications.
- Initialize and use Weaviate in your Fullstack or Backend Web Frameworks.
Questions and feedback
If you have any questions or feedback, let us know in the user forum.