summaryrefslogtreecommitdiff
path: root/README.md
blob: b069c1f336b77de8bc5bd94c428a3c829e5f8ff3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# Nest Starter App

## Description
A starter app with Postgres, NestJS, and React

## Prerequisites
### asdf-vm
Tool versions are managed using `asdf-vm`. You will need to have `asdf-vm` installed first.

## Setup
### Tool versions
Install the tool versions by running
```bash
$ asdf install
```

### Install yarn
We will use `yarn` instead of `npm` for package managment
```bash
$ npm install -g yarn
```

### .env
Create a file in the root called `.env` and copy the contents of `.env.example`

### Dependencies
To install the dependencies run
```bash
$ yarn # this is same thing as `yarn install`
```

### Database
Create the database
```bash
$ pc_ctl start # this starts postgres
$ createdb neststarterappdevelopement # creates a postgres database
```

Run the migrations
```bash
yarn db:migrate
```

Migrations need to be run again everytime a new migration is created

### SSL
Create a ssl key and certificate an place them in the root directory

```bash
$ openssl req -x509 -newkey rsa:4096 -keyout private-key.pem -out public-cert.pem -sha256 -nodes
```
Where this key will only be used for development you can leave all of the information blank.

## Running the app

```bash
# development
$ yarn start

# watch mode
$ yarn start:dev

# production mode
$ yarn start:prod
```

## Test

```bash
# unit tests
$ yarn test

# e2e tests
$ yarn test:e2e

# test coverage
$ yarn test:cov
```