# Getting Started

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><img src="https://2710776705-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRVLgi3PHtDYnjvZgAgjp%2Fuploads%2FWen1JK4Z0XrsyN2e3idl%2Fpngwing.com.png?alt=media&#x26;token=63a1d936-038d-4752-b310-d98598ab5610" alt="" data-size="original"></td><td><a href="angular-firebase-node.js">Angular / Firebase / Node.js</a></td><td><a href="angular-firebase-node.js">angular-firebase-node.js</a></td></tr><tr><td><img src="https://2710776705-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRVLgi3PHtDYnjvZgAgjp%2Fuploads%2Fu2dThBtSnJBEjlLIBSN6%2FCapture%20d%E2%80%99e%CC%81cran%202024-10-21%20a%CC%80%2002.19.06.png?alt=media&#x26;token=a29b916f-31db-4ebe-b254-b2f024be17ad" alt="" data-size="original"></td><td><a href="angular">Angular/Nest.js/PostgreSQL</a></td><td></td></tr><tr><td><img src="https://2710776705-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRVLgi3PHtDYnjvZgAgjp%2Fuploads%2FgIitthMHF0zZQ1VOLijD%2FCapture%20d%E2%80%99e%CC%81cran%202024-10-21%20a%CC%80%2002.21.20.png?alt=media&#x26;token=c5cbfc28-e8d5-4266-811c-420032267c51" alt=""></td><td><a href="node.js-mongodb">Angular/Node.js/MongoDB</a></td><td></td></tr></tbody></table>

Make sure you have **node v18**+ and **npm v10+**

## Download repositories

Once you've purchased Nzoni, your github email account will be added to the related projects.\
Make sure you're already connected to github on your cli terminal or use Github Personal access token.

### Download Angular repository

```sh
git clone https://github.com/nzoni-app/nz-angular.git
```

### Download Nest.js repository

<pre class="language-sh"><code class="lang-sh"><strong>git clone https://github.com/nzoni-app/nz-nestjs.git
</strong></code></pre>

### Download Node.js repository

<pre class="language-sh"><code class="lang-sh"><strong>git clone https://github.com/nzoni-app/nz-nodejs-mongodb.git
</strong></code></pre>

## Installation

#### Install Node.js (if you haven't already)

If you haven't installed Node.js yet, you can follow the instructions [here](https://nodejs.org/en/learn/getting-started/how-to-install-nodejs).

#### Install Node Modules for Angular project

Navigate to the downloaded Angular project repostiory:

```sh
cd nz-angular
npm install
```

#### Install Node Modules for Nest.js project

Navigate to the downloaded Nest.js project repostiory:

```sh
cd nz-nestjs
npm install
```

## Configure Environment Variables

### Nest.js environnement

Nest.js supports environment variables out of the box. You can set defaults in .env (for all environments), .env.development (for development), and .env.production (for production).

By default, there is the <mark style="background-color:blue;">.env.example</mark> file. Rename it to <mark style="background-color:blue;">.env</mark> modify variables

```sh
ENV=developpement # OR production OR stagging

# Typeorm configuration for migration
TYPEORM_CONNECTION=postgres
TYPEORM_HOST=localhost
TYPEORM_PORT=5432
TYPEORM_USERNAME=
TYPEORM_PASSWORD=
TYPEORM_DATABASE=
TYPEORM_SYNCHRONIZE=false
TYPEORM_ENTITIES=src/**/*.entity.ts
TYPEORM_MIGRATIONS_TABLE_NAME=migrations
TYPEORM_MIGRATIONS_DIR=migrations
TYPEORM_MIGRATIONS=migrations/*.ts

# MAILING
SMTP_HOST=
SMTP_PORT=
SMTP_SECURE=false
SMTP_AUTH=
SMTP_PASSWORD=
SMTP_FROM='"Support name" <support@domain.name>'
MODERATION_MAIL=
# Logs
APP_DEBUG=true
JOB_ERROR_LOG_PATH='./'
DEFAULT_LOG_PATH='./logs'

# JWT
JWT_SECRET=A/iQ2KX0auTZZBwsbPEGC8H3a78HiiL23WD4S+QAoEq34LdeJ9aPrgpHdkkTvBzJ46K2JkM4apkg414erD3S+qLvwiYk3DTorANbbkA+54tVJsXrSGsaUjGifR31OaRK98aDVgICvl60Nymo3+I6527+BOkZalZsbCPzsJ7nALyTNu9Ud2FsvfK0WpAQVOf4teoHT4R/7E7ENChmgHRvI/TWumKfWcyr//Q7b9bLipFivk0EDzkpApdaEsClxE7JjT33aZhMvtuvLn5mQF3L5/ubGs5ZZy+nk4AyhR1DBTYjBYzKoamf94JW3BPobg5heH8gGnNoA+5l3WOJA7uvzw==
JWT_EXPIRATION=192h # 3 days

# FONT_END_URL
FRONT_END_URL=

#GOOGLE
GOOGLE_CLIENT_ID=
GOOGLE_APPLICATION_CREDENTIALS=google-service.json

#STRIPE
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=

#TRIAL PERIOD IF EXIST
TRIAL_DAYS=
```

### Angular Environnement

Edit src/environments/environnement.ts&#x20;

<pre class="language-typescript"><code class="lang-typescript">export const environment = {
<strong>        // GOOGLE AUTH
</strong>        google_client_id:
        // GOOGLE TAG for ANALYTICS
        google_tag_id:
}
</code></pre>

## Create Tables

To set up the required tables, navigate to the downloaded Nest.js project repostiory and run the following command:

```sh
npx ts-node ./node_modules/.bin/typeorm  migration:run -d ./datasource.ts
```

## Run

### Angular

To start Angular project, simply run:

```sh
ng serve
```

Angular instance is now running at [http://localhost:4200/](http://localhost:3000/).

### Nest.js

To start Nest.js project, simply run:

```sh
npm run start:dev
```

Nest.js instance is now running at <http://localhost:3000/>.

### Node.js/MongoDB

Run the following command to start the server:

```sh
npm run start
```

Node.js instance is now running at <http://localhost:3000/>.

Congratulations! Your Nzoni project  is now running!
