Lightweight backend for managing virtual CV data. Built with a focus on performance, simplicity, and full runtime control.
- Node.js (ESM)
- TypeScript
- Fastify
- PostgreSQL (
pg) - Prisma
- Zod
npm run dev # Run in development (watch mode)
npm run build # Build for production (BE VERY CAREFUL! CREATE A BACKUP BEFORE BUILDING)
npm run start # Run built app
npm run lint # Lint and fix codesrc/
├── index.ts
├── db/
└── modules/
Development: tsx runs TypeScript directly with watch mode
Build: tsc compiles code into /dist and generates Prisma client
Production: runs compiled JavaScript only (no TypeScript overhead)
PostgreSQL via pg + Prisma Client
Direct SQL possible for performance-critical paths
Full control over query execution
fastify.get("/users", async () => {
const result = await prisma.user.findMany({
select: {
id: true,
email: true
}
});
return result;
});- Minimal dependencies
- Explicit logic over abstractions
- Compile-time over runtime
- Performance-first design