test proiect docker

This commit is contained in:
2026-01-15 14:03:00 +02:00
commit 84356b2f3f
3 changed files with 179 additions and 0 deletions

2
Dockerfile Normal file
View File

@@ -0,0 +1,2 @@
FROM nginx
COPY index.html /usr/share/nginx/html

153
index.html Normal file
View File

@@ -0,0 +1,153 @@
<!doctype html>
<html lang="ro">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>Weather — București, Ploiești, Timișoara, Cluj-Napoca, Iași, Călărași, Brașov, Constanța</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Romania — City Weather at a Glance</h1>
<p>Sample weather cards for București, Ploiești, Timișoara, Cluj-Napoca, Iași, Călărași, Brașov and Constanța. Images from Wikimedia Commons.</p>
</header>
<main>
<!-- Bucuresti -->
<article class="card sunny">
<img class="photo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Palatul_Parlamentului_Bucure%C8%99ti.jpg/800px-Palatul_Parlamentului_Bucure%C8%99ti.jpg" alt="Bucuresti" loading="lazy">
<div class="card-body">
<div class="city">
<h2>București</h2>
<div class="temp">24°C</div>
</div>
<div class="meta">
<span class="badge">☀️ Sunny</span>
<span>Humidity: 42%</span>
<span>Wind: 8 km/h</span>
</div>
</div>
</article>
<!-- Ploiesti -->
<article class="card partly-cloudy">
<img class="photo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Ploie%C8%99ti_-_Palatul_de_Justi%C8%9Bie.jpg/800px-Ploie%C8%99ti_-_Palatul_de_Justi%C8%9Bie.jpg" alt="Ploiesti" loading="lazy">
<div class="card-body">
<div class="city">
<h2>Ploiești</h2>
<div class="temp">22°C</div>
</div>
<div class="meta">
<span class="badge">⛅ Partly Cloudy</span>
<span>Humidity: 48%</span>
<span>Wind: 10 km/h</span>
</div>
</div>
</article>
<!-- Timisoara -->
<article class="card light-rain">
<img class="photo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/Timi%C8%99oara_-_Piata_Unirii.jpg/800px-Timi%C8%99oara_-_Piata_Unirii.jpg" alt="Timisoara" loading="lazy">
<div class="card-body">
<div class="city">
<h2>Timișoara</h2>
<div class="temp">20°C</div>
</div>
<div class="meta">
<span class="badge">🌧️ Light Rain</span>
<span>Humidity: 66%</span>
<span>Wind: 14 km/h</span>
</div>
</div>
</article>
<!-- Cluj-Napoca -->
<article class="card mostly-cloudy">
<img class="photo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/8a/Cluj-Napoca_-_Piata_Unirii.jpg/800px-Cluj-Napoca_-_Piata_Unirii.jpg" alt="Cluj-Napoca" loading="lazy">
<div class="card-body">
<div class="city">
<h2>Cluj-Napoca</h2>
<div class="temp">18°C</div>
</div>
<div class="meta">
<span class="badge">🌤️ Mostly Cloudy</span>
<span>Humidity: 55%</span>
<span>Wind: 11 km/h</span>
</div>
</div>
</article>
<!-- Iasi -->
<article class="card overcast">
<img class="photo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Ia%C8%99i_-_Palatul_Culturii.jpg/800px-Ia%C8%99i_-_Palatul_Culturii.jpg" alt="Iasi" loading="lazy">
<div class="card-body">
<div class="city">
<h2>Iași</h2>
<div class="temp">17°C</div>
</div>
<div class="meta">
<span class="badge">🌥️ Overcast</span>
<span>Humidity: 60%</span>
<span>Wind: 9 km/h</span>
</div>
</div>
</article>
<!-- Calarasi -->
<article class="card cloudy">
<img class="photo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/C%C4%83l%C4%83ra%C8%99i_-_Podul_Anghel_Saligny.jpg/800px-C%C4%83l%C4%83ra%C8%99i_-_Podul_Anghel_Saligny.jpg" alt="Calarasi" loading="lazy">
<div class="card-body">
<div class="city">
<h2>Călărași</h2>
<div class="temp">21°C</div>
</div>
<div class="meta">
<span class="badge">☁️ Cloudy</span>
<span>Humidity: 50%</span>
<span>Wind: 12 km/h</span>
</div>
</div>
</article>
<!-- Brasov -->
<article class="card partly-cloudy">
<img class="photo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Bra%C8%99ov_-_Old_Town.jpg/800px-Bra%C8%99ov_-_Old_Town.jpg" alt="Brasov" loading="lazy">
<div class="card-body">
<div class="city">
<h2>Brașov</h2>
<div class="temp">19°C</div>
</div>
<div class="meta">
<span class="badge">⛅ Partly Cloudy</span>
<span>Humidity: 52%</span>
<span>Wind: 7 km/h</span>
</div>
</div>
</article>
<!-- Constanta -->
<article class="card sunny">
<img class="photo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Constan%C8%9Ba_-_Cazinoul.jpg/800px-Constan%C8%9Ba_-_Cazinoul.jpg" alt="Constanta" loading="lazy">
<div class="card-body">
<div class="city">
<h2>Constanța</h2>
<div class="temp">23°C</div>
</div>
<div class="meta">
<span class="badge">☀️ Sunny</span>
<span>Humidity: 45%</span>
<span>Wind: 15 km/h</span>
</div>
</div>
</article>
</main>
<footer>
Images: Wikimedia Commons (iconic landmarks). To enable live weather, add an OpenWeatherMap API key and a small fetch script — ask me and I'll add it.
</footer>
</body>
</html>

24
style.css Normal file
View File

@@ -0,0 +1,24 @@
:root{--bg1:#0f172a;--bg2:#0b1220;--card:#0f1721;--accent:#6ee7b7;--muted:#94a3b8}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial;background:linear-gradient(180deg,var(--bg1),var(--bg2));color:#e6eef8;min-height:100vh;display:flex;flex-direction:column}
header{padding:36px 20px;text-align:center}
header h1{margin:0;font-size:clamp(20px,3vw,32px);letter-spacing:-0.5px}
header p{margin:8px 0 0;color:var(--muted)}
main{width:min(1200px,94%);margin:28px auto 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card{background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(2,6,23,0.6);transition:transform .22s,box-shadow .22s}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(2,6,23,0.65)}
.photo{width:100%;height:160px;object-fit:cover;display:block}
.card-body{padding:14px}
.city{display:flex;align-items:center;justify-content:space-between}
.city h2{margin:0;font-size:18px}
.temp{font-weight:700;color:var(--accent)}
.meta{display:flex;gap:10px;margin-top:8px;color:var(--muted);font-size:13px}
.meta span{display:inline-flex;align-items:center;gap:8px}
.badge{background:rgba(255,255,255,0.03);padding:6px 10px;border-radius:999px;font-size:13px}
footer{color:var(--muted);text-align:center;padding:20px 12px 36px;font-size:13px}
.sunny{border-top:4px solid #ffd700}
.partly-cloudy{border-top:4px solid #87ceeb}
.light-rain{border-top:4px solid #4682b4}
.mostly-cloudy{border-top:4px solid #778899}
.overcast{border-top:4px solid #696969}
.cloudy{border-top:4px solid #a9a9a9}
@media (max-width:420px){.photo{height:140px}.card-body{padding:12px}}