Location-based websocket chat application, like YikYak
Go to file
2021-12-03 14:46:44 -07:00
client adds roles 2021-12-01 20:18:26 -07:00
server auth guard update 2021-12-03 14:46:44 -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 add admin user and seeds 2021-11-30 17:44:58 -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 roles 2021-12-01 20:18:26 -07:00
README.md adds setup for roles 2021-11-30 15:40:07 -07:00
tsconfig.build.json first commit 2021-10-29 18:57:24 -06:00
tsconfig.json adds roles 2021-12-01 20:18:26 -07:00
yarn.lock adds roles 2021-12-01 20:18:26 -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 server dependencies run

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

To install the client dependencies run

$ cd client && yarn && cd ..

Database

Create the database

$ pg_ctl start # starts postgres
$ createdb neststarterappdevelopment # 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 and place them in the root directory

$ openssl req -x509 -newkey rsa:4096 -keyout private-key.pem -out public-cert.pem -sha256 -nodes

Enter US for the country code. Where this key will only be used for development you can leave all of the rest of information blank.

Running the app

To start the server run

# watch mode
$ yarn start:dev

To start the client run

$ yarn client:watch

Test

# unit tests
$ yarn test

# e2e tests
$ yarn test:e2e

# test coverage
$ yarn test:cov