Add Makefile for dev, init, and common tasks
This commit is contained in:
82
Makefile
Normal file
82
Makefile
Normal file
@@ -0,0 +1,82 @@
|
||||
.DEFAULT_GOAL := help
|
||||
.PHONY: help install init dev dev-backend dev-frontend build start \
|
||||
db-import db-dump admin clean clean-db docker-up docker-down docker-logs
|
||||
|
||||
help:
|
||||
@echo "PCA Pijac — available targets:"
|
||||
@echo ""
|
||||
@echo " make init Install deps and import DB from schema/dump.sql"
|
||||
@echo " make install Install deps in root, backend, frontend"
|
||||
@echo " make dev Run backend + frontend in dev (parallel)"
|
||||
@echo " make dev-backend Run Directus backend only (nodemon)"
|
||||
@echo " make dev-frontend Run Next.js frontend only"
|
||||
@echo " make build Build frontend for production"
|
||||
@echo " make start Start backend + frontend in production mode"
|
||||
@echo ""
|
||||
@echo " make db-import Reset data/data.db from schema/dump.sql"
|
||||
@echo " make db-dump Dump current DB to schema/dump.sql"
|
||||
@echo " make admin EMAIL=x@y PASSWORD=secret"
|
||||
@echo " Create a Directus admin user"
|
||||
@echo ""
|
||||
@echo " make docker-up docker compose up -d"
|
||||
@echo " make docker-down docker compose down"
|
||||
@echo " make docker-logs docker compose logs -f"
|
||||
@echo ""
|
||||
@echo " make clean Remove node_modules and .next"
|
||||
@echo " make clean-db Remove data/data.db"
|
||||
|
||||
install:
|
||||
pnpm install
|
||||
cd backend && pnpm install
|
||||
cd frontend && pnpm install
|
||||
|
||||
init: install db-import
|
||||
@echo "Init complete. Run 'make admin EMAIL=... PASSWORD=...' to create an admin user."
|
||||
|
||||
dev:
|
||||
pnpm run dev
|
||||
|
||||
dev-backend:
|
||||
cd backend && pnpm run dev
|
||||
|
||||
dev-frontend:
|
||||
cd frontend && pnpm run dev
|
||||
|
||||
build:
|
||||
cd frontend && pnpm run build
|
||||
|
||||
start:
|
||||
cd backend && pnpm run start & \
|
||||
cd frontend && pnpm run start; \
|
||||
wait
|
||||
|
||||
db-import:
|
||||
cd backend && pnpm run db:import
|
||||
|
||||
db-dump:
|
||||
cd backend && pnpm run db:dump
|
||||
|
||||
admin:
|
||||
@if [ -z "$(EMAIL)" ] || [ -z "$(PASSWORD)" ]; then \
|
||||
echo "Usage: make admin EMAIL=you@example.com PASSWORD=secret"; \
|
||||
exit 1; \
|
||||
fi
|
||||
cd backend && pnpm directus users create \
|
||||
--email "$(EMAIL)" \
|
||||
--password "$(PASSWORD)" \
|
||||
--role 067808bd-7c13-40be-8c11-9ba654b79465
|
||||
|
||||
docker-up:
|
||||
docker compose up -d
|
||||
|
||||
docker-down:
|
||||
docker compose down
|
||||
|
||||
docker-logs:
|
||||
docker compose logs -f
|
||||
|
||||
clean:
|
||||
rm -rf node_modules backend/node_modules frontend/node_modules frontend/.next
|
||||
|
||||
clean-db:
|
||||
rm -f data/data.db
|
||||
Reference in New Issue
Block a user