# 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