enterprise_assest_managemen.../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