This is the v2 of [dddforum]() which we're using to demonstrate moving through the Phases of Craftship in The Software Essentialist.
At this level, the focus is on implementing the most valuable techniques from BDD, Continuous Delivery, Object-Oriented Design, TDD & so on.
The work we have to do here is broken into 4 key parts:
Assuming we want to test everything from this folder, you can test/explore the following.
Docker
Ensure you've installed Docker on your machine and have it started.
This will allow us to run the local services we need (such as Postgres) without messy setup.
This keeps our development environments simple and reproducible.
Packages
npm ci
Automated tests are superior. Here's how we can do it on the backend.
Run the E2E tests
With the services built, you can now run the E2E tests.
npm run test:e2e
Note: This will start a PostgreSQL docker container, generate the Prisma client, run migrations, and start the backend server.
A walking skeleton is a minimal slice of functionality through all of your major architectural components from the user's perspective.
Here's how you can test it out locally.
Step 1: Run the backend in a separate console.
npm run start:dev:backend
Note: This will start a PostgreSQL docker container, generate the Prisma client, run migrations, and start the backend server.
Step 2: Run the frontend server in a separate console.
npm run start:dev:frontend
Image incoming
... description incoming
Image incoming
... description incoming
We run a few tests on the backend as well to prove that we can:
You can test these with:
npm run test:infra