Overview
The development of every web application should start with setting up a walking skeleton. A walking skeleton is a minimalistic version of a project that includes all of the key elements of the project, such as the client-side and server-side applications, the database, and so on, linking the key elements together.
The walking skeleton implements a tiny functionality that goes through the entire system, from the user interface to the database, verifying that the key elements of the project are in place and that they work together.
In this part, we create a walking skeleton for a web software development project. The walking skeleton will consist of a server-side application built with Deno, a client-side application built with Svelte, a setup for running end-to-end tests with Playwright, and a PostgreSQL database for storing data.
The structure of this part is as follows:
- Containers and containerization briefly introduces containers and containerization, and provides links for installing Docker and Docker Compose (and their alternative Podman).
- Deno server-side application outlines adding a Deno-based server-side application to a project, creating a Dockerfile for it, and adding it to a multi-container project setup.
- Svelte client-side application outlines adding a Svelte-based client-side application to a project, creating a Dockerfile for it, and adding it to a multi-container project setup.
- End-to-end testing with Playwright shows how to set up end-to-end testing with Playwright for the walking skeleton, and how to run Playwright tests using Docker.
- PostgreSQL database and migrations outlines setting up a PostgreSQL database and database migrations for the walking skeleton, and shows how to retrieve data from the database in the server-side application.
Finally, at the end of the part, there is a recap and feedback chapter that briefly summarizes the part and asks for feedback on the part.