Selamat datang di proyek Ultimate-Asepharyana.cloud! Repositori ini adalah portofolio pribadi yang menampilkan pengaturan monorepo menggunakan Turborepo. Jika Anda mengalami masalah atau memiliki saran untuk perbaikan, silakan kirim pull request.
Proyek ini membutuhkan Node.js versi 22 atau lebih baru. Anda dapat mengunduh versi terbaru dari situs resmi Node.js.
node -v
# Pastikan outputnya adalah v22.x.x atau lebih baru
Jalankan perintah berikut:
git clone https://github.com/MythEclipse/ultimate-asepharyana.cloud.git
Turborepo ini mencakup paket/aplikasi berikut:
@asepharyana/web
: aplikasi Next.js@asepharyana/api
: aplikasi Express@asepharyana/ui
: komponen react yang dapat digunakan di aplikasi lain@asepharyana/eslint-config
: konfigurasieslint
(termasukeslint-config-next
daneslint-config-prettier
)@asepharyana/database
: pembungkus ORM Prisma untuk mengelola & mengakses database Anda@asepharyana/typescript-config
:tsconfig.json
yang digunakan di seluruh monorepo
Turborepo ini memiliki beberapa alat tambahan yang sudah diatur untuk Anda:
- TypeScript untuk pemeriksaan tipe statis
- ESLint untuk linting kode
- Prettier untuk pemformatan kode
- Prisma untuk ORM database
- Docker Compose untuk database lokal
Kami menggunakan Prisma untuk mengelola & mengakses database kami. Oleh karena itu, Anda memerlukan database untuk proyek ini, baik secara lokal atau di-host di cloud.
Untuk mempermudah proses ini, kami menawarkan file docker-compose.yml
untuk menerapkan server MySQL secara lokal dengan database baru bernama turborepo
(Untuk mengubah ini, perbarui variabel lingkungan MYSQL_DATABASE
dalam file docker-compose.yml
):
cd my-turborepo
docker-compose up -d
Setelah diterapkan, Anda perlu menyalin file .env.example
ke .env
agar Prisma memiliki variabel lingkungan DATABASE_URL
untuk diakses.
cp .env.example .env
Jika Anda menambahkan nama database khusus atau menggunakan database berbasis cloud, Anda perlu memperbarui DATABASE_URL
dalam .env
Anda sesuai kebutuhan.
Setelah diterapkan & berjalan, Anda perlu membuat & menerapkan migrasi ke database Anda untuk menambahkan tabel yang diperlukan. Ini dapat dilakukan menggunakan Prisma Migrate:
npx prisma migrate dev
Jika Anda perlu mendorong migrasi yang ada ke database, Anda dapat menggunakan perintah Prisma db push atau Prisma migrate deploy:
pnpm run db:push
# ATAU
pnpm run db:migrate:deploy
Setelah diedit, jalankan perintah berikut untuk memberi tahu Prisma untuk menjalankan skrip seed yang ditentukan dalam konfigurasi Prisma:
pnpm run db:seed
Untuk informasi lebih lanjut tentang migrasi, seeding & lainnya, kami merekomendasikan membaca Dokumentasi Prisma.
Untuk membangun semua aplikasi dan paket, jalankan perintah berikut:
pnpm run build
Untuk mengembangkan semua aplikasi dan paket, jalankan perintah berikut:
pnpm run dev
Pelajari lebih lanjut tentang kekuatan Turborepo: