dave note for any changes here
tree -L 8 -I 'node_modules|.git|dist'
echo "20" > .nvmrc
nvm install
nvm use
rm -rf node_modules
rm -rf dist
rm -rf ~/.pnpm-store
pnpm install
npm rebuild bcrypt
find node_modules -name bcrypt_lib.node
pnpm prisma:generate:mysql
pnpm prisma:generate:mongo
pnpm prisma:generate
## to install redis server locally
docker run -d --name box-redis -p 6379:6379 redis:7
## to start redis server
docker start box-redis
## to stop redis server
docker stop box-redis
## to remove redis server
docker rm -f box-redis
# test redis connection
redis-cli -h 127.0.0.1 -p 6379 ping
# Generate a new module
nest g module mgnt-backend/feature/video-medias --project box-mgnt-api
docker run -d \
--name box-rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-e RABBITMQ_DEFAULT_USER=boxrabbit \
-e RABBITMQ_DEFAULT_PASS='BoxRabbit#2025' \
rabbitmq:3.13-management
# RabbitMQ Management UI Access
http://localhost:15672
Username: boxrabbit
Password: BoxRabbit#2025
# create RabbitMQ User and vhost
rabbitmqctl add_user boxrabbit 'BoxRabbit#2025'
# give administrator tag to user
rabbitmqctl set_user_tags boxrabbit administrator
# Grant full permissions on the default / vhost
rabbitmqctl set*permissions -p / boxrabbit ".*" ".\_" ".\*"
# Enable it with:
rabbitmq-plugins enable rabbitmq_management
systemctl restart rabbitmq-server
# Or generate a complete resource (module + controller + service + DTOs)
nest g resource mgnt-backend/feature/video-medias --project box-mgnt-api
## generate secret
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
video-medias/
├── dto/
│ ├── create-video-media.dto.ts
│ └── update-video-media.dto.ts
├── entities/
│ └── video-media.entity.ts
├── video-medias.controller.ts
├── video-medias.service.ts
└── video-medias.module.ts