Files
pca-pijac/Makefile

88 lines
2.4 KiB
Makefile

.DEFAULT_GOAL := help
.PHONY: help install rebuild 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, rebuild native modules, import DB"
@echo " make install Install deps in root, backend, frontend"
@echo " make rebuild Rebuild native modules (argon2, sqlite3, sharp)"
@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
rebuild:
cd backend && pnpm install --force
cd frontend && pnpm install --force
init: install rebuild 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