- run
nvm use
(or install the version set on .nvmrc) - run
npm i
- run
npm run knex -- migrate:latest
- run
npm run dev
- User can create a new transaction
- User can obtain his account info
- User can list all past transactions
- User must be able to visualize a single transaction
- Transaction can be of credit type which will sum to the total value
- Transaction can be of debit type which will subtract from the total value
- It must be possible to identify users between the requests
- User can only visualize transactions he created
-
HTTP Server
- Fastify - a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture
-
Database
- Knex.js - is a "batteries included" SQL query builder for PostgreSQL, CockroachDB, MSSQL, MySQL, MariaDB, SQLite3, Better-SQLite3, Oracle, and Amazon Redshift designed to be flexible, portable, and fun to use.
- Sqlite3 - a wrapper library written in Typescript with ZERO dependencies that adds ES6 promises and SQL-based migrations API to sqlite3.
-
Schemas validations
- Zod - TypeScript-first schema validation with static type inference
-
Tests
-
Compile & Bundle
-
Deploy
- Render - is a unified cloud to build and run all your apps and websites with free TLS certificates, global CDN, private networks and auto deploys from Git.