waterwolf-auth/README.md

53 lines
2 KiB
Markdown
Raw Normal View History

# Waterwolf Identity Solution
## Description
This is the identity service for the Waterwolf project. It is a NestJS application that provides an API for managing users and authentication.
## Development
To get started with development, first clone the repository.
Create a GitHub classic PAT with permission to read repos and packages in order to be able to install the private furality npm packages .
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic
Create the token and put it in a file in the root of the repository named `.github_token`.
Then install vscode which supports devcontainers and open the repository in vscode as a devcontainer.
This will set up all the necessary supporting services needed to run, test, and debug this service.
Once it finishes building initially, goto the testing tab of vscode and run the tests to make sure
they pass and that your environment is properly set up.
Next, you can start up the app by going to the run and debug tab and selecting the `nest start watch` task.
Once it is started, in the bottom pane of vscode, goto the PORTS tab and look for the `Application port` row.
Either right click or copy the forwarded address to open it in your browser and then navigate to the path:
http://localhost:{PORT}/v1/api/ to ensure it has started correctly
## Installation
Use pnmp to install the required packages.
```bash
pnpm install
```
## Usage
```bash
pnpm start
```
## Configuration
This uses `@nestjs/config` which uses [dotenv](https://github.com/motdotla/dotenv).
Configuration can be done by using a `.env` file or environment variables.
Mailing Configuration
- `POSTAL_BASE_URL` - Base URL for the Postal API
- `POSTAL_API_KEY` - API Key for the Postal API
## Credits
- [ConiCaw](https://github.com/ttshivers) - Teaching Kakious about documentation and base documenation from other projects
- [Kakious](https://rawr.ing) - Main Developer and Documentation Writer