Skip to content

Commit 182fcbb

Browse files
committed
Add Makefile, Docker, and update GitHub API client
Introduce a Makefile for Docker and development shortcuts, add VSCode settings for Makefile integration, and update the README with detailed Docker and development instructions. Update the GitHub API client for improved token handling, error management, and code style consistency. Adjust the dev script in package.json to use the correct Next.js CLI flag and host binding.
1 parent eb9a0d5 commit 182fcbb

File tree

5 files changed

+1056
-559
lines changed

5 files changed

+1056
-559
lines changed

β€Ž.vscode/settings.jsonβ€Ž

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"makefile.configureOnOpen": true
3+
}

β€ŽMakefileβ€Ž

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
.PHONY: help setup env docker-dev docker-dev-build docker-dev-logs docker-dev-down docker-prod docker-up docker-down docker-logs docker-restart clean-docker
2+
3+
# Variables
4+
DOCKER_COMPOSE = docker compose
5+
DOCKER_COMPOSE_DEV = docker compose -f docker-compose.dev.yml
6+
7+
# Default target
8+
help:
9+
@echo "GitHubMon - Makefile Commands"
10+
@echo ""
11+
@echo "Environment Setup:"
12+
@echo " make setup - Complete Docker setup (env + build)"
13+
@echo " make env - Create .env.local from .env.example"
14+
@echo ""
15+
@echo "Docker - Development:"
16+
@echo " make docker-dev - Start development container"
17+
@echo " make docker-dev-build - Build and start dev container"
18+
@echo " make docker-dev-logs - Show dev container logs"
19+
@echo " make docker-dev-down - Stop dev container"
20+
@echo ""
21+
@echo "Docker - Production:"
22+
@echo " make docker-prod - Build and start production containers"
23+
@echo " make docker-up - Start production containers (no build)"
24+
@echo " make docker-down - Stop all containers"
25+
@echo " make docker-logs - Show production logs"
26+
@echo " make docker-restart - Restart production containers"
27+
@echo ""
28+
@echo "Cleanup:"
29+
@echo " make clean-docker - Remove all containers and volumes"
30+
@echo ""
31+
@echo "For development commands, use npm directly:"
32+
@echo " npm install - Install dependencies"
33+
@echo " npm run dev - Start development server"
34+
@echo " npm run build - Build for production"
35+
@echo " npm run lint - Run ESLint"
36+
@echo " npm run format - Format code with Prettier"
37+
38+
# Environment Setup
39+
setup: env
40+
@echo "πŸ”§ Setting up Docker environment..."
41+
@echo "βœ… Setup complete! Edit .env.local with your credentials"
42+
@echo "Then run: make docker-dev"
43+
44+
env:
45+
@if [ ! -f .env.local ]; then \
46+
cp .env.example .env.local; \
47+
echo "βœ… Created .env.local - Please edit it with your credentials"; \
48+
else \
49+
echo "⚠️ .env.local already exists"; \
50+
fi
51+
52+
# Docker - Development
53+
docker-dev:
54+
@echo "🐳 Starting development container..."
55+
$(DOCKER_COMPOSE_DEV) up
56+
57+
docker-dev-build:
58+
@echo "🐳 Building and starting development container..."
59+
$(DOCKER_COMPOSE_DEV) up --build
60+
61+
docker-dev-logs:
62+
@echo "πŸ“‹ Showing development container logs..."
63+
$(DOCKER_COMPOSE_DEV) logs -f
64+
65+
docker-dev-down:
66+
@echo "πŸ›‘ Stopping development container..."
67+
$(DOCKER_COMPOSE_DEV) down
68+
69+
# Docker - Production
70+
docker-prod:
71+
@echo "🐳 Building and starting production containers..."
72+
$(DOCKER_COMPOSE) up --build -d
73+
@echo "βœ… Production containers started. Visit http://localhost:3000"
74+
75+
docker-up:
76+
@echo "🐳 Starting production containers..."
77+
$(DOCKER_COMPOSE) up -d
78+
79+
docker-down:
80+
@echo "πŸ›‘ Stopping all containers..."
81+
$(DOCKER_COMPOSE) down
82+
$(DOCKER_COMPOSE_DEV) down
83+
84+
docker-logs:
85+
@echo "πŸ“‹ Showing production logs..."
86+
$(DOCKER_COMPOSE) logs -f
87+
88+
docker-restart:
89+
@echo "πŸ”„ Restarting production containers..."
90+
$(DOCKER_COMPOSE) restart
91+
92+
# Cleanup
93+
clean-docker:
94+
@echo "🧹 Removing all containers and volumes..."
95+
$(DOCKER_COMPOSE) down -v
96+
$(DOCKER_COMPOSE_DEV) down -v
97+
docker system prune -f
98+
@echo "βœ… Docker cleanup complete"
99+
100+
# Quick aliases
101+
dev: docker-dev
102+
prod: docker-prod
103+
up: docker-up
104+
down: docker-down
105+
logs: docker-logs
106+
restart: docker-restart

0 commit comments

Comments
Β (0)