Note
Example is complete and will not receive future updates.
Demonstrates using TypeORM with PostgreSQL in a Node app.
It does not demonstrate creating the web app itself, except for a comment in the src/index.ts
file showing where the app's "main" code would go. This example's purpose is to show how to set up a declarative development environment where team members (or you, in the future) would not need to run manual SQL commands for the local development database to match. Instead, the dbseed
task (implemented as a TypeScript file compiled and executed by the build
NPM task) takes care of ensuring the running database has the required SQL schema and that it is populated with test data.
- Node 14.x+
- Docker and docker-compose
There are three models in this example:
- Doctor
- Patient
- Appointment (junction model between Doctor and Patient)
- Run
npm install
to install local dependencies. - Run
docker-compose up -d
to create and start the required Docker containers for the PostgreSQL database. - Run
npm run build
to compile the code, including tasks. - Run
npm run dbseed
to insert the seed data into the running PostgreSQL database. Note that since the task is coded in TypeScript, it must be compiled first. Therefore, this npm script runs the build npm script first before running the dbseed task.
These steps assume you have the docker-compose stack running.
- Run
npm run build
to compile the source code. - Run
npm start
to start the app.
- Run
npm run dbseed
to compile the source code and insert the seed data into the running PostgreSQL database. - Run
npm start
to start the app.