-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
40 lines (34 loc) · 1.43 KB
/
Makefile
File metadata and controls
40 lines (34 loc) · 1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
.PHONY: setup dev test db\:reset db\:reset\:test db\:seed
setup:
@echo "Installing backend dependencies..."
cd packages/backend && npm install
@echo "Installing frontend dependencies..."
cd packages/frontend && npm install
@echo "Starting PostgreSQL (dev + test)..."
docker compose -f docker/docker-compose.yml up -d
dev:
@echo "Starting backend on http://localhost:3000 and frontend on http://localhost:5173..."
@trap 'kill 0' INT TERM EXIT; \
cd packages/backend && npm run dev & \
cd packages/frontend && npm run dev & \
wait
test:
@echo "Ensuring test database is running..."
docker compose -f docker/docker-compose.yml up -d postgres-test
@echo "Running frontend Vitest suite..."
cd packages/frontend && npm run test
@echo "Running backend Jest suite..."
cd packages/backend && npm run test
db\:reset:
@echo "Resetting dev PostgreSQL volume and recreating the container..."
docker compose -f docker/docker-compose.yml down -v
docker compose -f docker/docker-compose.yml up -d
db\:reset\:test:
@echo "Resetting test PostgreSQL container..."
docker compose -f docker/docker-compose.yml stop postgres-test
docker compose -f docker/docker-compose.yml rm -f postgres-test
docker volume rm docker_postgres_test_data 2>/dev/null || true
docker compose -f docker/docker-compose.yml up -d postgres-test
db\:seed:
@echo "Applying init.sql to dev PostgreSQL..."
docker exec -i arqiat1-postgres psql -U postgres -d app < database/init.sql