https://github.com/amwebexpert/amw-hangman-api
Hangman REST API - NestJS implementation
https://github.com/amwebexpert/amw-hangman-api
Last synced: 5 months ago
JSON representation
Hangman REST API - NestJS implementation
- Host: GitHub
- URL: https://github.com/amwebexpert/amw-hangman-api
- Owner: amwebexpert
- License: mit
- Created: 2021-04-03T15:21:35.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-29T15:47:11.000Z (over 3 years ago)
- Last Synced: 2025-04-23T10:55:09.139Z (about 1 year ago)
- Language: HTML
- Homepage:
- Size: 901 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# amw-hangman-api
Hangman REST API using Nest.js
Deployed here: https://amw-hangman-api.herokuapp.com/
## Starting the database locally
docker run --name pg-docker --rm -p 5432:5432 -e POSTGRES_PASSWORD=postgres -e POSTGRES_USER=postgres -e POSTGRES_DB=hangman -d postgres
or
docker-compose up -d
or simply
./startDb.sh
## Starting the REST API server locally
. ./setEnvDevWorkstation.sh
./startApi.sh
## Local links
* http://localhost:3000 for the welcome page
* http://localhost:3000/api/ for the API documentation
## TODOs
* add Users and link each category with a user uuid
* whenever a category or associated text entry is created, modified or deleted, ensure the modifier is the category owner
* create TextDto for POST and PUT input validations
* create POST and PUT using TextDto for validations
## Add categories and deploy
### Adding new categories (initialData)
Since we just add new collections (so far) all the DB tables can be droped and re-created:
* generate a new migration file: `typeorm migration:create src/migration/initialData`
* add the new array into `generateInserts.js` script and prepare the loop
* generate the SQL statements into `generated-data.txt` file: `node ./tools/generateInserts.js`
* then copy paste results into the new file for instance `11111111111-initialData.ts`
### Deploy Heroku repo master branch
* npm install -g heroku
* heroku --version
* heroku login -i
* execute `copyToHerokuStaging.sh`
* ensure to stage new features into heroku repo here: /flutter-projects/heroku-repo/amw-hangman-api
* git commit -m"feat: my new features"
* at this point, you can `Reset Database` on `Heroku` project admin console:
* Resources > Heroku Postgres > Datastores > postgresql-solid > Settings
* git push heroku master
* heroku logs -t
## Nest.js - references - licence
- [Installation & Nest.js](docs/nestjs.md)
- [References](docs/references.md)
- [MIT licensed](LICENSE)