Location-based websocket chat application, like YikYak
Go to file
2021-11-23 14:04:12 -07:00
client adds api, guard, tailwind 2021-11-23 14:04:12 -07:00
server adds api, guard, tailwind 2021-11-23 14:04:12 -07:00
test first commit 2021-10-29 18:57:24 -06:00
views adds api, guard, tailwind 2021-11-23 14:04:12 -07:00
.env.example adds api, guard, tailwind 2021-11-23 14:04:12 -07:00
.eslintrc.js separate client and server apps 2021-11-16 19:14:46 -07:00
.gitignore basic login boilerplatre 2021-11-20 18:18:58 -07:00
.prettierrc basic login boilerplatre 2021-11-20 18:18:58 -07:00
.tool-versions adds foundation for postgres 2021-11-07 18:23:01 -07:00
nest-cli.json separate client and server apps 2021-11-16 19:14:46 -07:00
package.json adds api, guard, tailwind 2021-11-23 14:04:12 -07:00
README.md separate client and server apps 2021-11-16 19:14:46 -07:00
tsconfig.build.json first commit 2021-10-29 18:57:24 -06:00
tsconfig.json first commit 2021-10-29 18:57:24 -06:00
yarn.lock adds api, guard, tailwind 2021-11-23 14:04:12 -07:00

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

$ asdf install

Install yarn

We will use yarn instead of npm for package managment

$ 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

$ yarn # this is same thing as `yarn install`

Database

Create the database

$ pc_ctl start # this starts postgres
$ createdb neststarterappdevelopement # creates a postgres database

Run the migrations

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

$ 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

# development
$ yarn start

# watch mode
$ yarn start:dev

# production mode
$ yarn start:prod

Test

# unit tests
$ yarn test

# e2e tests
$ yarn test:e2e

# test coverage
$ yarn test:cov