Make sure you have the following installed:
# Install dependencies from package.json
yarn install
Note: don't delete yarn.lock before installation, See more in yarn docs
Note: Awesome NestJS Boilerplate uses TypeORM with Data Mapper pattern.
Before start install PostgreSQL and fill correct configurations in .env
file
DB_HOST=localhost DB_PORT=5432 DB_USERNAME=postgres DB_PASSWORD=postgres DB_DATABASE=nest_boilerplate
Some helper script to work with database
# To create new migration file yarn migration:create migration_name # Truncate full database (note: it isn't deleting the database) yarn schema:drop # Generate migration from update of entities yarn migration:generate migration_name
If you need to use MySQL / MariaDB instead of PostgreSQL, follow the steps below:
(assuming you have installed mysql in your system and it is running on port 3306)
.env
file#== DB DB_TYPE=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_USERNAME=mysql DB_PASSWORD=mysql DB_DATABASE=nest_boilerplate DB_ROOT_PASSWORD=mysql DB_ALLOW_EMPTY_PASSWORD=yes
ormconfig.ts
....
export const dataSource = new DataSource({
type: 'mysql', // <-- Just write mysql here
host: process.env.DB_HOST,
port: Number(process.env.DB_PORT),
username: process.env.DB_USERNAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_DATABASE,
namingStrategy: new SnakeNamingStrategy(),
subscribers: [UserSubscriber],
entities: [
'src/modules/**/*.entity{.ts,.js}',
'src/modules/**/*.view-entity{.ts,.js}',
],
migrations: ['src/database/migrations/*{.ts,.js}'],
});
src/database/migrations
)yarn typeorm migration:generate ./src/database/migrations/MySQLMigrations
These steps may work for other databases supported by TypeORM. If they work, let us know and we'll add it to the docs!
After completing the steps above, you can use this docker-compose file for awesome-nest-boilerplate with MySQL (instead of PostgreSQL).
Note: If you're on Linux and see an
ENOSPC
error when running the commands below, you must increase the number of available file watchers.
# Launch the dev server yarn start:dev # Launch the dev server with file watcher yarn watch:dev # Launch the dev server and enable remote debugger with file watcher yarn debug:dev
This project includes generators to speed up common development tasks. Commands include:
Note: Make sure you already have the nest-cli globally installed
# Install nest-cli globally yarn global add @nestjs/cli # Generate a new service nest generate service users # Generate a new class nest g class users
Note: if you love generators then you can find full list of command in official Nest-cli Docs.
if you are familiar with docker and docker-compose then you can run built in docker-compose file, which will install and configure application and database for you.
Download docker from Official website
Download docker from Official website
Open terminal and navigate to project directory and run the following command.
PORT=3000 docker-compose up
Note: application will run on port 3000 (http://localhost:3000)
Navigate to http://localhost:8080 and connect to you database with the following configurations
host: postgres user: postgres pass: postgres
create database nest_boilerplate
and your application fully is ready to use.