feat: Initialize Symfony application structure with essential files
- Added index.php for application entry point. - Created app.css for global styles. - Introduced HomeController for handling the home route. - Implemented Kernel class for application kernel. - Added base.html.twig as the main template. - Created index.html.twig for the home page layout. - Set up Docker configurations for development and production environments. - Included opcache configuration for development.
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
.PHONY: help \
|
||||
build build-docker rebuild-docker \
|
||||
start start-local start-prod stop restart \
|
||||
test test-watch test-coverage \
|
||||
lint-check lint-fix \
|
||||
install-deps reinstall-deps clean \
|
||||
cache-clear cache-warm \
|
||||
logs shell routes serve-info
|
||||
|
||||
.ONESHELL:
|
||||
|
||||
ROOT_DIR := $(CURDIR)
|
||||
APP_DIR := $(ROOT_DIR)/app
|
||||
DOCKER_CMD := docker compose -f docker-compose.yml
|
||||
DOCKER_DEV_CMD := docker compose -f docker-compose.yml -f docker-compose.dev.yml
|
||||
|
||||
EXEC := $(DOCKER_DEV_CMD) run --rm web
|
||||
|
||||
BLUE := \033[0;34m
|
||||
GREEN := \033[0;32m
|
||||
YELLOW := \033[0;33m
|
||||
NC := \033[0m
|
||||
|
||||
.DEFAULT_GOAL := help
|
||||
|
||||
help: ## Show available targets
|
||||
@echo "$(BLUE)╔════════════════════════════════════════════════════════════════════╗$(NC)"
|
||||
@echo "$(BLUE)║ Boathouse Cafe - Build, Test, Start & Debug Helper ║$(NC)"
|
||||
@echo "$(BLUE)╚════════════════════════════════════════════════════════════════════╝$(NC)"
|
||||
@echo ""
|
||||
@_targets=$$(grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST)); \
|
||||
_print() { echo "$$_targets" | grep -E "$$1" | awk 'BEGIN {FS = ":.*?## "}; {printf " $(YELLOW)%-20s$(NC) %s\n", $$1, $$2}'; }; \
|
||||
echo "$(GREEN)Build$(NC)"; _print '^build|^rebuild'; \
|
||||
echo ""; \
|
||||
echo "$(GREEN)Run$(NC)"; _print '^start|^stop|^restart'; \
|
||||
echo ""; \
|
||||
echo "$(GREEN)Test$(NC)"; _print '^test'; \
|
||||
echo ""; \
|
||||
echo "$(GREEN)Lint$(NC)"; _print '^lint'; \
|
||||
echo ""; \
|
||||
echo "$(GREEN)Dependencies$(NC)"; _print '^install|^reinstall|^clean'; \
|
||||
echo ""; \
|
||||
echo "$(GREEN)Database$(NC)"; _print '^db'; \
|
||||
echo ""; \
|
||||
echo "$(GREEN)Utilities$(NC)"; _print '^cache|^routes|^serve|^logs|^shell'
|
||||
|
||||
# -- Build --------------------------------------------------------------------
|
||||
|
||||
build: ## Install deps and clear cache
|
||||
@$(EXEC) composer install
|
||||
@$(EXEC) php bin/console cache:clear
|
||||
|
||||
build-docker: ## Build Docker image
|
||||
@$(DOCKER_CMD) build
|
||||
|
||||
rebuild-docker: ## Rebuild Docker image from scratch and start
|
||||
@$(DOCKER_CMD) down
|
||||
@$(DOCKER_CMD) build --no-cache
|
||||
@$(DOCKER_CMD) up -d
|
||||
|
||||
# -- Run ----------------------------------------------------------------------
|
||||
|
||||
start: ## Start Docker containers in dev mode (live reload)
|
||||
@$(DOCKER_DEV_CMD) up -d
|
||||
@echo "$(GREEN)Running at http://localhost:8087$(NC)"
|
||||
|
||||
start-local: ## Start Symfony dev server locally
|
||||
@$(EXEC) symfony serve -d
|
||||
@echo "$(GREEN)Running at http://localhost:8087$(NC)"
|
||||
|
||||
start-prod: ## Start in production mode
|
||||
@$(EXEC) sh -c "APP_ENV=prod php bin/console cache:clear && symfony serve"
|
||||
|
||||
stop: ## Stop all services (Docker + local)
|
||||
@$(DOCKER_DEV_CMD) down
|
||||
|
||||
restart: stop start ## Restart Docker containers
|
||||
|
||||
# -- Test ---------------------------------------------------------------------
|
||||
|
||||
test: ## Run tests
|
||||
@$(EXEC) php bin/phpunit
|
||||
|
||||
test-watch: ## Run tests in watch mode
|
||||
@$(EXEC) php bin/phpunit --testdox --watch
|
||||
|
||||
test-coverage: ## Generate HTML coverage report in app/coverage/
|
||||
@$(EXEC) php bin/phpunit --coverage-html coverage
|
||||
|
||||
# -- Lint ---------------------------------------------------------------------
|
||||
|
||||
lint-check: ## Check code style without fixing
|
||||
@$(EXEC) vendor/bin/php-cs-fixer fix --diff --dry-run
|
||||
|
||||
lint-fix: ## Fix code style
|
||||
@$(EXEC) vendor/bin/php-cs-fixer fix
|
||||
|
||||
# -- Dependencies & Cleanup ---------------------------------------------------
|
||||
|
||||
install-deps: ## Install Composer dependencies
|
||||
@$(EXEC) composer install
|
||||
|
||||
reinstall-deps: ## Remove vendor and reinstall dependencies
|
||||
@$(EXEC) sh -c "rm -rf vendor composer.lock && composer install"
|
||||
|
||||
clean: ## Remove cache and logs
|
||||
@$(EXEC) sh -c "rm -rf var/cache/* var/log/*"
|
||||
|
||||
# -- Utilities ----------------------------------------------------------------
|
||||
|
||||
cache-clear: ## Clear application cache
|
||||
@$(EXEC) php bin/console cache:clear
|
||||
|
||||
cache-warm: ## Warm up application cache
|
||||
@$(EXEC) php bin/console cache:warmup
|
||||
|
||||
routes: ## List all routes
|
||||
@$(EXEC) php bin/console debug:router
|
||||
|
||||
serve-info: ## Show Symfony server status
|
||||
@$(EXEC) symfony server:status || echo "Server not running"
|
||||
|
||||
logs: ## Follow Docker container logs
|
||||
@$(DOCKER_DEV_CMD) logs -f
|
||||
|
||||
shell: ## Open shell in Docker container
|
||||
@$(DOCKER_DEV_CMD) run --rm -it web sh
|
||||
Reference in New Issue
Block a user