Tip
Optional tapi klo mau coba silahkan pnpm.
atau bisa pake npm i -g pnpm.
# Clone project
git clone https://github.com/mitrain23/backend-mitrain
cd backend-mitrain
# setup .env
cp -r .env.example .env
# Bisa pake `npm i` juga sih
pnpm install
# Run dev server. Bisa pake `npm run dev` juga sih
pnpm dev # Di laptop ku pnpm lebih kenceng dari pada `npm run dev`
- production
- staging
- development bikin sendiri aja bre
- expressjs: buat backend
- prisma: buat ORM (mysql)
- mongoose: buat mongodb
- multer: buat handle upload image
- socket.io: buat realtime chat
.
├── docker-compose.backup.yml
├── docker-compose.dev.yml # docker compose buat development
├── docker-compose.mongodb.yml
├── docker-compose.mysql.yml
├── docker-compose.prod.yml # docker compose buat production
├── docker-compose.yml
├── Dockerfile
├── package.json
├── package-lock.json
├── pnpm-lock.yaml
├── prisma
│ └── schema.prisma
├── public
│ └── images # gambar yang di upload lari ke sini
├── README.md
├── src
│ ├── controllers
│ ├── index.ts
│ ├── middlewares
│ ├── models
│ ├── mongoose
│ ├── routes
│ ├── services
│ └── utils
│ ├── compressImage.ts
│ ├── db.ts
│ ├── multer.ts
│ ├── prisma.ts
│ ├── verifyTokenMitra.ts
│ └── verifyTokenUser.ts
└── tsconfig.jsonSetelah melakukan perubahan saat development
docker compose -f docker-compose.dev.yaml build # build ulang
docker compose -f docker-compose.dev.yaml up -d # jalanin as daemon (jalan di background)
# kalo abis nge ganti schema.prisma
docker exec -it <nama-container> npx prisma generate
docker exec -it <nama-container> npx prisma db:push