From 8ca9ea157c99a5371e61932870d79f1391a78658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Markovi=C4=87?= Date: Thu, 23 Apr 2026 20:41:45 +0400 Subject: [PATCH] Add Makefile for dev, init, and common tasks --- Makefile | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b9b79c1 --- /dev/null +++ b/Makefile @@ -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