135 lines
3.8 KiB
Makefile
135 lines
3.8 KiB
Makefile
# Makefile for Enterprise Asset Management System
|
|
|
|
.PHONY: help install dev build prod clean logs stop restart schema
|
|
|
|
# Default target
|
|
help:
|
|
@echo "Enterprise Asset Management System - Available Commands:"
|
|
@echo ""
|
|
@echo "Quick Start:"
|
|
@echo " make quick-start - Complete setup for new developers"
|
|
@echo " make setup - Full development environment setup"
|
|
@echo ""
|
|
@echo "Development:"
|
|
@echo " make install - Install frontend and node_api dependencies"
|
|
@echo " make dev - Start development environment"
|
|
@echo " make dev-fe - Start frontend development server"
|
|
@echo " make dev-api - Start node API development server"
|
|
@echo " make schema - Import database schema and sample data"
|
|
@echo ""
|
|
@echo "Production:"
|
|
@echo " make build - Build frontend for production"
|
|
@echo " make prod - Build and run production environment"
|
|
@echo ""
|
|
@echo "Docker Management:"
|
|
@echo " make up - Start all services"
|
|
@echo " make down - Stop all services"
|
|
@echo " make restart - Restart all services"
|
|
@echo " make logs - Show service logs"
|
|
@echo " make clean - Clean up containers and volumes"
|
|
@echo ""
|
|
@echo "Database:"
|
|
@echo " make db-reset - Reset database with fresh schema"
|
|
@echo " make backup - Create database backup"
|
|
|
|
# Installation
|
|
install:
|
|
@echo "📦 Installing frontend dependencies..."
|
|
cd frontend && npm install
|
|
@echo "📦 Installing node_api dependencies..."
|
|
cd node_api && npm install
|
|
|
|
# Development
|
|
dev:
|
|
@echo "🚀 Starting development environment..."
|
|
@if [ ! -f frontend/.env ]; then \
|
|
echo "📝 Creating environment file..."; \
|
|
cp frontend/.env.example frontend/.env; \
|
|
echo "⚠️ Please update frontend/.env with your configuration"; \
|
|
fi
|
|
docker-compose up postgres directus redis -d
|
|
@echo "⏳ Waiting for backend services..."
|
|
@sleep 20
|
|
@echo "✅ Backend ready! Import schema with: make schema"
|
|
@echo "Then start frontend with: make dev-fe"
|
|
|
|
dev-fe:
|
|
@echo "🎯 Starting frontend development server..."
|
|
cd frontend && npm run dev
|
|
|
|
dev-api:
|
|
@echo "🎯 Starting node API development server..."
|
|
cd node_api && npm run dev
|
|
|
|
# Schema setup
|
|
schema:
|
|
@echo "🗃️ Setting up database schema..."
|
|
@echo "Schema will be automatically loaded from schema/init.sql"
|
|
@echo "Includes: tables, relationships, sample data, and permissions"
|
|
@echo "✅ Schema import completed!"
|
|
@echo "🔗 Directus Admin: http://localhost:8055/admin"
|
|
@echo "🔑 Admin Login: admin@assetmanagement.com / AssetAdmin2024!"
|
|
@echo "📋 Full permissions configured for Administrator role"
|
|
|
|
# Building
|
|
build:
|
|
@echo "🔨 Building frontend..."
|
|
cd frontend && npm run build
|
|
|
|
# Production
|
|
prod:
|
|
@echo "🚀 Starting production environment..."
|
|
docker-compose down
|
|
docker-compose up --build -d
|
|
@echo "⏳ Waiting for services..."
|
|
@sleep 30
|
|
@echo "✅ Production environment ready!"
|
|
@echo "🔗 Frontend: http://localhost:3000"
|
|
@echo "🔗 Directus Admin: http://localhost:8055/admin"
|
|
|
|
# Docker management
|
|
up:
|
|
docker-compose up -d
|
|
|
|
down:
|
|
docker-compose down
|
|
|
|
restart:
|
|
docker-compose restart
|
|
|
|
logs:
|
|
docker-compose logs -f
|
|
|
|
clean:
|
|
@echo "🧹 Cleaning up..."
|
|
docker-compose down -v
|
|
docker system prune -f
|
|
@echo "✅ Cleanup complete!"
|
|
|
|
# Database management
|
|
db-reset:
|
|
@echo "🗃️ Resetting database..."
|
|
docker-compose down
|
|
docker volume rm enterprise-asset-management_postgres_data || true
|
|
docker-compose up postgres directus redis -d
|
|
@echo "⏳ Waiting for services..."
|
|
@sleep 25
|
|
make schema
|
|
@echo "✅ Database reset complete!"
|
|
|
|
# Quick start for new developers
|
|
quick-start:
|
|
@echo "🚀 Quick start for new developers..."
|
|
make install
|
|
make dev
|
|
make schema
|
|
@echo ""
|
|
@echo "🎯 Ready to develop!"
|
|
@echo "Run 'make dev-fe' to start the frontend development server"
|
|
|
|
# Show system status
|
|
status:
|
|
@echo "📊 System Status:"
|
|
@echo ""
|
|
@echo "Docker Containers:"
|
|
@docker-compose ps
|