Skip to content

Getting Started

Development environment

Yêu cầu

  • Node 18+

Cài đặt

1.1 Cài đặt package cho electron app

bash
npm install

1.2 Cài đặt package cho Public server

bash
cd src/server
npm install

2. Run project

  • Chạy lệnh bash tại root project như sau:
bash
# Khởi động electron app (mode dev)
npm run dev
  • Sau đó mở thêm 1 command line nữa và truy cập vào thư mục Public server
bash
# Run trực tiếp tại root
npm run server:dev

# Hoặc truy cập vào folder server project rồi run
cd src/server
npm run start:dev

Deploy project

Public Server (src/server)

Migration database

Nếu không có thay đổi về migrations database thì có thể bỏ qua bước này

  • Ví dụ tạo migration database mới có tên là new
bash
npm run migration:generate --name=new
  • Sau khi chạy script migration:generate thì file migration new sẽ được tạo ra ở folder migrations và có tên [unix-time]_new.ts
  • Sau khi tạo file migration thì import vào migrations/index.ts
ts
// ------------- Migrations -------------
// ...
import { NewXXX } from './XXX_new';

const migrations = [NewXXX];

Seed data

Nếu cần seed data thì tạo thêm seed như sau.

  • Ví dụ sau khi tạo migration new ở trên sẽ có tên 1698374342530-new.ts thì ta sẽ tạo seed có tên là 1698374342530-seed-new.ts ở thư mục migrations/seeds
ts
import { MigrationInterface, QueryRunner } from 'typeorm';

export class SeedNew1698374342530 implements MigrationInterface {
  name = 'SeedNew1698374342530';

  public async up(queryRunner: QueryRunner): Promise<void> {
    ... Query seed data
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    ... Query roll back data
  }
}
  • Sau khi tạo seed file thì import vào migrations/index.ts
ts
// ------------- Migrations -------------
// ...
import { New1698374342530 } from './1698374342530_new';

const migrations = [New1698374342530];

// ------------- Seeds -------------
// ...
import { SeedNew1698374342530 } from './seeds/1698374342530-seed-init'; 

const seeds = [SeedNew1698374342530]; 

export default [...migrations, ...seeds];

Application

  • Up version tại file package.json
json
{
  ...
  "version": "0.0.1", 
  ...
}
bash
# build Windows
npm run buid:win

# build MacOS
npm run build:mac

# build Linux
npm run build:linux
  • Folder build dist/version_build. version 0.0.1 thì folder build sẽ là dist/0.0.1