Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Highlight activities of DevFactory ๐Ÿค—
<tr>
<td align="center" width="200" valign="top">
<b>Soohyun Kim</b><br>
<img src="platform/frontend/public/members/soohyun.png" height="180px"><br>
<img src="platform/frontend/public/members/soohyun.webp" height="180px"><br>
<img src="https://img.shields.io/badge/-Builder-3776AB">
<img src="https://img.shields.io/badge/-TPM-94A3B8">
<img src="https://img.shields.io/badge/-INFRA-94A3B8"><br>
Expand All @@ -77,7 +77,7 @@ Highlight activities of DevFactory ๐Ÿค—
</td>
<td align="center" width="200" valign="top">
<b>Yesin Kim</b><br>
<img src="platform/frontend/public/members/yesin.jpg" height="180px"><br>
<img src="platform/frontend/public/members/yesin.webp" height="180px"><br>
<img src="https://img.shields.io/badge/-Builder-3776AB">
<img src="https://img.shields.io/badge/-BE-0891B2"><br>
<img src="https://img.shields.io/badge/-10th-DAA520">
Expand All @@ -87,7 +87,7 @@ Highlight activities of DevFactory ๐Ÿค—
</td>
<td align="center" width="200" valign="top">
<b>Seungkyu Kim</b><br>
<img src="platform/frontend/public/members/seungkyu.jpg" height="180px"><br>
<img src="platform/frontend/public/members/seungkyu.webp" height="180px"><br>
<img src="https://img.shields.io/badge/-Builder-3776AB">
<img src="https://img.shields.io/badge/-FE-60A5FA"><br>
<img src="https://img.shields.io/badge/-10th-DAA520">
Expand All @@ -108,7 +108,7 @@ Highlight activities of DevFactory ๐Ÿค—
<tr>
<td align="center" width="200" valign="top">
<b>Yujin Choi</b><br>
<img src="platform/frontend/public/members/yujin.jpg" height="180px"><br>
<img src="platform/frontend/public/members/yujin.webp" height="180px"><br>
<img src="https://img.shields.io/badge/-Runner-10B981">
<img src="https://img.shields.io/badge/-PO-818CF8"><br>
<img src="https://img.shields.io/badge/-11th-C67117"><br>
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ DevFactory์˜ ์ฃผ์š” ํ™œ๋™ ๋‚ด์—ญ์ž…๋‹ˆ๋‹ค ๐Ÿค—
<tr>
<td align="center" width="200" valign="top">
<b>๊น€์ˆ˜ํ˜„</b><br>
<img src="platform/frontend/public/members/soohyun.png" height="180px"><br>
<img src="platform/frontend/public/members/soohyun.webp" height="180px"><br>
<img src="https://img.shields.io/badge/-Builder-3776AB">
<img src="https://img.shields.io/badge/-TPM-94A3B8">
<img src="https://img.shields.io/badge/-INFRA-94A3B8"><br>
Expand All @@ -72,7 +72,7 @@ DevFactory์˜ ์ฃผ์š” ํ™œ๋™ ๋‚ด์—ญ์ž…๋‹ˆ๋‹ค ๐Ÿค—
</td>
<td align="center" width="200" valign="top">
<b>๊น€์˜ˆ์‹ </b><br>
<img src="platform/frontend/public/members/yesin.jpg" height="180px"><br>
<img src="platform/frontend/public/members/yesin.webp" height="180px"><br>
<img src="https://img.shields.io/badge/-Builder-3776AB">
<img src="https://img.shields.io/badge/-BE-0891B2"><br>
<img src="https://img.shields.io/badge/-10th-DAA520">
Expand All @@ -82,7 +82,7 @@ DevFactory์˜ ์ฃผ์š” ํ™œ๋™ ๋‚ด์—ญ์ž…๋‹ˆ๋‹ค ๐Ÿค—
</td>
<td align="center" width="200" valign="top">
<b>๊น€์Šน๊ทœ</b><br>
<img src="platform/frontend/public/members/seungkyu.jpg" height="180px"><br>
<img src="platform/frontend/public/members/seungkyu.webp" height="180px"><br>
<img src="https://img.shields.io/badge/-Builder-3776AB">
<img src="https://img.shields.io/badge/-FE-60A5FA"><br>
<img src="https://img.shields.io/badge/-10th-DAA520">
Expand All @@ -103,7 +103,7 @@ DevFactory์˜ ์ฃผ์š” ํ™œ๋™ ๋‚ด์—ญ์ž…๋‹ˆ๋‹ค ๐Ÿค—
<tr>
<td align="center" width="200" valign="top">
<b>์ตœ์œ ์ง„</b><br>
<img src="platform/frontend/public/members/yujin.jpg" height="180px"><br>
<img src="platform/frontend/public/members/yujin.webp" height="180px"><br>
<img src="https://img.shields.io/badge/-Runner-10B981">
<img src="https://img.shields.io/badge/-PO-818CF8"><br>
<img src="https://img.shields.io/badge/-11th-C67117"><br>
Expand Down
35 changes: 6 additions & 29 deletions platform/docker-compose.dev.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,20 @@
services:
# Development Overrides with Traefik Support
# Development mode (Hot-Reloading)
frontend:
build:
context: ./frontend
target: build-stage
image: devfactory-frontend:dev
command: npm run dev -- --host 0.0.0.0
command: npm run dev -- --host 0.0.0.0 --port 80
volumes:
- ./frontend:/app
- /app/node_modules
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.df-platform-web.rule=Host(`${APP_HOST}`)
- traefik.http.routers.df-platform-web.entrypoints=websecure
- traefik.http.routers.df-platform-web.tls=true
- traefik.http.routers.df-platform-web.tls.certresolver=le
- traefik.http.services.df-platform-web.loadbalancer.server.port=5173
# HTTP โ†’ HTTPS redirect (re-adding to ensure full functionality)
- traefik.http.routers.df-platform-web-http.rule=Host(`${APP_HOST}`)
- traefik.http.routers.df-platform-web-http.entrypoints=web
- traefik.http.routers.df-platform-web-http.middlewares=redirect-to-https@file
- traefik.http.routers.df-platform-web-http.service=df-platform-web
ports:
- "8081:80"

server:
command: npm run dev
volumes:
- ./server:/app
- /app/node_modules
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.df-platform-api.rule=Host(`${APP_HOST}`) && PathPrefix(`/api`)
- traefik.http.routers.df-platform-api.entrypoints=websecure
- traefik.http.routers.df-platform-api.tls=true
- traefik.http.routers.df-platform-api.tls.certresolver=le
- traefik.http.services.df-platform-api.loadbalancer.server.port=3000
# HTTP โ†’ HTTPS redirect
- traefik.http.routers.df-platform-api-http.rule=Host(`${APP_HOST}`) && PathPrefix(`/api`)
- traefik.http.routers.df-platform-api-http.entrypoints=web
- traefik.http.routers.df-platform-api-http.middlewares=redirect-to-https@file
- traefik.http.routers.df-platform-api-http.service=df-platform-api
ports:
- "3000:3000"
50 changes: 6 additions & 44 deletions platform/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,60 +3,22 @@ services:
frontend:
build:
context: ./frontend
labels:
- "org.pseudolab.project=devfactory-platform"
container_name: devfactory-frontend
restart: unless-stopped
networks:
- traefik
- internal
labels:
- traefik.enable=true
- traefik.docker.network=traefik
# --- Traefik Router (frontend) ---
- traefik.http.routers.df-platform-web.rule=Host(`${APP_HOST}`)
- traefik.http.routers.df-platform-web.entrypoints=websecure
- traefik.http.routers.df-platform-web.tls=true
- traefik.http.routers.df-platform-web.tls.certresolver=le
- traefik.http.services.df-platform-web.loadbalancer.server.port=80
# HTTP โ†’ HTTPS redirect
- traefik.http.routers.df-platform-web-http.rule=Host(`${APP_HOST}`)
- traefik.http.routers.df-platform-web-http.entrypoints=web
- traefik.http.routers.df-platform-web-http.middlewares=redirect-to-https@file
- traefik.http.routers.df-platform-web-http.service=df-platform-web
ports:
- "8081:80" # Caddy๊ฐ€ 8081๋กœ ์ ‘์†ํ•˜๋„๋ก ์„ค์ •
depends_on:
- server

# Backend API server
server:
build:
context: ./server
labels:
- "org.pseudolab.project=devfactory-platform"
container_name: devfactory-api
restart: unless-stopped
environment:
- DATABASE_URL=${DATABASE_URL}
- ACCESS_LOGGING_IP_SALT=${ACCESS_LOGGING_IP_SALT}
- PORT=3000
networks:
- traefik
- internal
labels:
- traefik.enable=true
- traefik.docker.network=traefik
# --- Traefik Router (backend) ---
- traefik.http.routers.df-platform-api.rule=Host(`${APP_HOST}`) && PathPrefix(`/api`)
- traefik.http.routers.df-platform-api.entrypoints=websecure
- traefik.http.routers.df-platform-api.tls=true
- traefik.http.routers.df-platform-api.tls.certresolver=le
- traefik.http.services.df-platform-api.loadbalancer.server.port=3000
# HTTP โ†’ HTTPS redirect
- traefik.http.routers.df-platform-api-http.rule=Host(`${APP_HOST}`) && PathPrefix(`/api`)
- traefik.http.routers.df-platform-api-http.entrypoints=web
- traefik.http.routers.df-platform-api-http.middlewares=redirect-to-https@file
- traefik.http.routers.df-platform-api-http.service=df-platform-api

networks:
traefik:
external: true
internal:
driver: bridge
ports:
- "3000:3000"
80 changes: 77 additions & 3 deletions platform/frontend/history/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,47 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DevFactory | Our Journey</title>
<link rel="icon" type="image/png" href="/favicon.png">
<link rel="icon" type="image/png" href="/favicon.webp">
<link rel="stylesheet" href="/style.css">
</head>

<body>
<header class="brand-header">
<div class="header-content">
<a href="/" class="logo-container">
<img src="/brand_logo.png" alt="Pseudo-Lab DevFactory" class="brand-logo standard-logo">
<img src="/logo_symbol_light.webp" alt="Pseudo-Lab DevFactory" class="brand-logo standard-logo">
<span class="team-label">DevFactory</span>
</a>
<nav class="header-nav">
<a href="/" class="nav-link">Home</a>
</nav>
<div class="header-right">
<button id="theme-toggle" class="theme-toggle-btn" aria-label="Toggle Dark/Light Mode">
<span class="theme-icon-sun">โ˜€๏ธ</span>
<span class="theme-icon-moon">๐ŸŒ™</span>
</button>
<button class="menu-toggle" id="menu-toggle" aria-label="Open Menu">
<span class="bar"></span>
<span class="bar"></span>
<span class="bar"></span>
</button>
</div>
</div>
</header>

<!-- Mobile Menu Overlay -->
<div class="mobile-menu-overlay" id="mobile-menu-overlay">
<button class="close-menu" id="close-menu">&times;</button>
<nav class="mobile-nav-links">
<a href="/" class="mobile-nav-link">Home</a>
<a href="/#intro" class="mobile-nav-link">Vision</a>
<a href="/#projects" class="mobile-nav-link">Projects</a>
<a href="/#team" class="mobile-nav-link">Team</a>
<a href="/#journey-teaser-section" class="mobile-nav-link">History</a>
<a href="/#activities" class="mobile-nav-link">Activities</a>
</nav>
</div>

<div class="bg-grid"></div>
<div class="bg-glow"></div>

Expand Down Expand Up @@ -133,11 +157,61 @@ <h3>6th PseudoCon</h3>
</div>
</div>

<footer class="site-footer" style="margin-top: 0;">
<!-- Site Footer -->
<footer class="site-footer">
<div class="footer-container">
<div class="footer-left">
<div class="footer-social-wrapper">
<div class="footer-social">
<span class="social-label">DEVFACTORY</span>
<a href="https://github.com/Pseudo-Lab/DevFactory" target="_blank" class="social-link"
title="GitHub Repo">
<svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor">
<path
d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.042-1.416-4.042-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" />
</svg>
</a>
</div>
<div class="footer-social">
<span class="social-label">PSEUDO-LAB</span>
<a href="https://pseudo-lab.com/" target="_blank" class="social-link" title="Official site">
<img src="/pl_symbol_white.webp" alt="Pseudo-Lab" style="width: 18px; height: auto;">
</a>
<a href="https://discord.gg/RvJnyDvBkK" target="_blank" class="social-link"
title="Pseudo-Lab Discord">
<svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor">
<path
d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037 19.736 19.736 0 0 0-4.885 1.515.069.069 0 0 0-.032.027C.533 9.048-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z" />
</svg>
</a>
<a href="https://github.com/Pseudo-Lab" target="_blank" class="social-link"
title="Pseudo-Lab GitHub">
<svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor">
<path
d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.042-1.416-4.042-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" />
</svg>
</a>
<a href="https://www.linkedin.com/company/pseudolab/" target="_blank" class="social-link"
title="LinkedIn">
<svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor">
<path
d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z" />
</svg>
</a>

</div>
</div>
</div>
</div>
<div class="footer-bottom">
<p class="copyright">&copy; 2025 Pseudo-Lab DevFactory. All rights reserved.</p>
<div class="footer-meta-links">
<a href="https://github.com/Pseudo-Lab" target="_blank">Organization</a>
<a href="mailto:soohyun.dev@gmail.com">Builder Contact</a>
</div>
</div>
</footer>
<script type="module" src="/main.js"></script>
</body>

</html>
Loading
Loading