/nx-boilerplate

NX, NextJS and NestJS Fullstack Boilerplate

Primary LanguageTypeScript

NX Boilerplate

Didalam Repo ini terdapat 4 Aplikasi:

  • Backoffice
  • Backoffice-API
  • Landing
  • CMS-API

WAJIB Setup Husky

Untuk bisa menggunakan husky agar berjalan baik dan benar maka perlu di inisialisasi dulu

  • Jalankan perintah

    npm run husky install

Cara Menggunakan GIT dengan Baik dan Benar

Jika Kamu baru di Project ini maka kamu bisa ke Section Installasi

Cara Berkontribusi di Project Ini

Di Mohon jangan PUSH Langsung ke Branch "develop"

Aturan Branching ( Percabangan )

  • Jika kamu bermaksud untuk meng-improve atau memperbaharui

    git checkout -b "improvement/apa-yang-di-improve

  • Jika kamu bermaksud untuk Bug Fixing

    git checkout -b "bugfix/apa-yang-di-fix

  • Jika kamu bermaksud untuk menambah Feature

    git checkout -b "feature/fitur-apa-yang-di-buat

Aturan Commit

  • Jika kamu bermaksud untuk meng-improve atau memperbaharui

    git commit -m "improvement: apa yang di improve

  • Jika kamu bermaksud untuk Bug Fixing

    git commit -m "bugfix: apa yang di fix

  • Jika kamu bermaksud untuk menambah Feature

    git commit -m "feature: fitur apa yang di buat

Rekomendasi Kode Editor

Visual Studio Code

Rekomendasi Extension

  • Stylelint
  • TailwindCSS Intelesense
  • Prettier
  • Error Lens
  • ESLint

Menyiapkan Projek

  • Clone Projek Dengan SSH ( Direkomendasikan menggunakan SSH )

    git clone git@github.com:maulanasdqn/nx-boilerplate.git

  • Clone Projek Dengan HTTPS

    git clone https://github.com/maulanasdqn/nx-boilerplate.git

Memasang Dependency

  • Pasang Dependency

    npm install

Menjalankan Aplikasi di Lokal

  • Untuk menjalankan Projek Backoffice dengan mode Development ketik perintah berikut

    npm run web:backoffice:dev

  • Untuk menjalankan Projek Backoffice dengan mode Production ( Perlu dilakukan Build terlebih dahulu ) ketik perintah berikut

    npm run web:backoffice:start

  • Untuk menjalankan Projek Landing Page dengan mode Development ketik perintah berikut

    npm run web:landing:dev

  • Untuk menjalankan Projek Landing Page dengan mode Production ( Perlu dilakukan Build terlebih dahulu ) ketik perintah berikut

    npm run web:landing:start

  • Untuk menjalankan Projek API Backoffice dengan mode Development ketik perintah berikut

    npm run api:backoffice:dev

  • Untuk menjalankan Projek API Backoffice dengan mode Production ( Perlu dilakukan Build terlebih dahulu ) ketik perintah berikut

    npm run api:backoffice:start

  • Untuk menjalankan Projek API CMS dengan mode Development ketik perintah berikut

    npm run api:cms:dev

  • Untuk menjalankan Projek API CMS dengan mode Production ( Perlu dilakukan Build terlebih dahulu ) ketik perintah berikut

    npm run api:cms:start

MemBuild Aplikasi ke Production

  • Untuk membuild Projek Backoffice ketik perintah berikut

    npm run web:backoffice:build

  • Untuk membuild Projek Landing Page ketik perintah berikut

    npm run web:landing:build

  • Untuk membuild Projek API Backoffice ketik perintah berikut

    npm run api:backoffice:build

  • Untuk membuild Projek API CMS ketik perintah berikut

    npm run api:cms:build

MemBuild Aplikasi ke Production Menggunakan Docker

Anda perlu menginstall Docker terlebih dahulu

  • Untuk menginstall docker sesuai dengan Sistem Operasi anda, bisa mengunjungi link berikut https://docs.docker.com/install/

  • Untuk membuild Projek Backoffice Dengan Docker ketik perintah berikut

    npm run web:backoffice:container

  • Untuk membuild Projek Landing Page Dengan Docker ketik perintah berikut

    npm run web:landing:container

  • Untuk membuild Projek API Backoffice Dengan Docker ketik perintah berikut

    npm run api:backoffice:container

  • Untuk membuild Projek API CMS Dengan Docker ketik perintah berikut

    npm run api:cms:container

Development Dengan NIX

Development dengan Nix membuat proses Develop menjadi lebih mudah dan ringkas, semua dependency akan terurus dengan sendirinya, juga independent artinya tidak akan menggangu environment yang lain

  • Pasang Nixpkgs

sh <(curl -L https://nixos.org/nix/install) --no-daemon

  • Pasang nix-flakes

nix-env -iA nixpkgs.nixFlakes

  • Setup nix-flakes
    Edit file yang ada di ~/.config/nix/nix.conf atau /etc/nix/nix.conf dan tambahkan:

experimental-features = nix-command flakes

  • Pasang nix-direnv

nix-env -f '<nixpkgs>' -iA nix-direnv

  • Setup nix-direnv

source $HOME/.nix-profile/share/nix-direnv/direnvrc

  • Masuk ke folder yang sudah di clone kemudian jalankan perintah berikut

direnv allow

  • Dan enjoy tinggal tunggu dependency terinstall dengan sendirinya

Setup Env

Masuk kedalam folder apps/nama-apps/ Copy terlebih dahulu .env.example kemudian rename ke .env