Skip to main content

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?
  Each unit includes a set of Learning Goals and Learning Outcomes which form the unit's guiding principles.
  • 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.