summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJoseph Ditton <jditton.atomic@gmail.com>2021-12-03 18:31:24 -0700
committerJoseph Ditton <jditton.atomic@gmail.com>2021-12-03 18:31:24 -0700
commit5446509b96d5d5bcd0aa9855ce5b9568fe706eb7 (patch)
treedc9c47ceecaa4b0d80756601c91ae0352808bb28 /README.md
parentedbbed205031fa21c42e309cbf1161e20135e44b (diff)
downloadlocchat-5446509b96d5d5bcd0aa9855ce5b9568fe706eb7.tar.gz
locchat-5446509b96d5d5bcd0aa9855ce5b9568fe706eb7.zip
update readme add git scripts
Diffstat (limited to 'README.md')
-rw-r--r--README.md58
1 files changed, 47 insertions, 11 deletions
diff --git a/README.md b/README.md
index 51e5e25..0b287f3 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,26 @@
-# Nest Starter App
+# USU CS4610 Nest Starter App
## Description
A starter app with Postgres, NestJS, and React
+## Cloning the project
+This app is designed to used as a starting point for another application so you will want to clone the project into a folder that matches your app. Run
+```bash
+$ git clone git@github.com:dittonjs/OnTheSpot.git <YourAppName>
+```
+
+Replace your app name with the name of your app, for example
+```bash
+$ git clone git@github.com:dittonjs/OnTheSpot.git SpyChat
+```
+
+Next, go create a remote repository in github (or gitlab, or bitbucket, it doesn't matter) for your new application.
+
+Finally, run
+```bash
+$ bash ./bin/setup_new_project.sh
+```
+and follow the prompts. This script will link the repo to your new repo while maintaining a reference to the starter app. This way, if we make changes to the starter app, you can still get those changes.
## Prerequisites
### asdf-vm
Tool versions are managed using `asdf-vm`. You will need to have `asdf-vm` installed first.
@@ -15,13 +33,15 @@ $ asdf install
```
### Install yarn
-We will use `yarn` instead of `npm` for package managment
+We will use `yarn` instead of `npm` for package managment. To install yarn run
```bash
$ npm install -g yarn
```
### .env
-Create a file in the root called `.env` and copy the contents of `.env.example`
+Create a file in the root called `.env` and copy the contents of `.env.example`.
+
+Make sure you create a new file instead of renaming the `.env.example` file.
In your new `.env` file update the values for each key as you would like
@@ -37,27 +57,43 @@ $ cd client && yarn && cd ..
```
### Database
-Create the database
+To setup the database run
```bash
-$ pg_ctl start # starts postgres
-$ createdb neststarterappdevelopment # creates a postgres database
+$ yarn db:setup
```
+This will create the database, run the migrations, and run the seed for you.
-Run the migrations
+### Migrations
+Any time you want make changes to your database schema you will need to generate a migration file
+```bash
+yarn db:migration:generate AddContextToRoles # replace this name with a name that describes your migration
+```
+Open that migration file and make the changes. Then, when you are ready
```bash
$ yarn db:migrate
```
+will run any pending migrations.
+
+If a team member adds a migrations you will need to run the migrate command to make the changes to your local database as well.
-Migrations need to be run again everytime a new migration is created
+### Seeds
+Seeds allow you prepopulate your database with data. By default this application prepopulates the `Roles` and the Admin `User` into your database.
-Run the seeds
+If you make changes to the seeds file at `server/database/seeds.ts` the make sure that, in the event seeds are run multiple times, you don't end up with duplicate data.
+
+To run the seeds
```bash
$ yarn db:seed
```
-This should create roles and your admin level user in your database.
-
### SSL
+**Only do this step if you intend on developing your app in an environment where you need SSL (like canvas or other embedded platforms).**
+
+In your `.env` set
+```
+USE_SSL=true
+```
+
Create a ssl key and certificate and place them in the root directory
```bash