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:
2026-06-13 09:06:26 -04:00
parent e69b418df9
commit d1e39aee04
36 changed files with 6893 additions and 0 deletions
+127
View File
@@ -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