A Brief Introduction to the Course Tech Stack

Learn about the tech stack that will be used throughout the course.

We'll cover the following

NextJS

React is a popular JavaScript library used by software teams to create applications’ user interfaces (UI). Multiple toolchains are available, such as Create React App for single-page apps, Next.js for server-rendered apps utilizing Node.js, and Gatsby for static page apps. These enhance the development experience of building applications with React. The application in this course uses the Next.js framework.

LowDB

LowDB is a lightweight, minimalistic, and local JSON-based database. The API of our Next.js application will send and receive data from the frontend for users to see via communication with the database. The following is an illustration of the workflow:

The diagram above shows the data flow to and from the database to the API and the UI. First, a GET request by the frontend initiates a request for data from the API. Next, the API queries the database for specific data based on the request. Then, the database retrieves the requested data and sends it back to the API. Finally, the API formats the data and sends it to the frontend as a response in JSON format.

Postman

The course application will include an API to store and retrieve data from the LowDB database. Therefore, it is crucial to verify that the API behaves as expected when receiving requests and sending responses. Therefore, the course will use the Postman tool for API testing. Postman is a popular API platform that allows teams to build, test, and publish APIs. In addition, the graphical user interface (GUI) provided by Postman makes it easy to execute ad hoc testing and fully automated test suites:

Postman's graphical user interface

WebdriverIO

Most of the tests will run at the API level. However, it’s also essential to have a few tests through the UI to add an extra layer of confidence that the application will work as expected. WebdriverIO is a modern JavaScript testing framework for browser and mobile automated testing. WebdriverIO allows teams to test critical user flows of applications with all parts working together. It will be used to test the course’s application in the browser from the end user’s perspective.