Fastify Template

How it works?

Structure

That's how the project will looks like:

package.json
biome.json
compose.yaml
tsup.config.ts
vitest-e2e.config.ts
vitest.config.ts

Used Technologies

Biome

The project use Biome to lint and format the code.

Why use Biome?
  • Biome is about 35x faster than Prettier

  • Avoid obscure error messages, when we tell you something is wrong, they tell you exactly where the problem is and how to fix it.

  • Out of the box support for all the language features you use today. First class support for TypeScript and JSX.

  • With tight internal integration they are able to reuse previous work and any improvement to one tool improves them all.

Biome Documentation

Prisma ORM

The project use Prisma as the main ORM.

Why use Prisma?
  • Prisma provides full type safety and autocompletion in your IDE, reducing runtime errors and improving development efficiency.

  • Easy Database Migrations

  • Modern and Intuitive API

  • Seamless Integration with TypeScript

  • Performance and Efficiency (It has options more faster, you can change it if you prefer)

Prisma Documentation

Vitest

The project uses Vitest to test the application.

Why use Vitest?
  • Blazing Fast Performance

  • First-class TypeScript Support

  • Rich and Intuitive API

  • Powerful Mocking and Stubbing

Vitest Documentation

Docker Compose example

We deliver to you a Docker Compose example file. With that file you can start a local database using Docker and run you application without any problem :)


SOLID

The project has a example of SOLID implementation

Why use SOLID?
  • Improved Code Maintainability

  • Enhanced Code Reusability

  • Increased Testability

  • Scalability and Flexibility

  • Better Collaboration and Onboarding

SOLID Article if you don't know it yet