Commit Graph
75 Commits
Author SHA1 Message Date
Godopu 78a66b7ad4 feat(console): add theme toggle button to admin header, sidebar, and login form
- Embed ThemeToggle component directly into AdminHeader top-right area
- Add ThemeToggle to AdminLayout fixed sidebar header next to Admin badge
- Add ThemeToggle to AdminLoginForm for seamless theme switching prior to authentication
- Cleanly passed all 12 E2E test gates (Exit Code 0)
2026-08-25 16:12:49 +09:00
Godopu 1410dcf89d feat(publications): add multi-level year filtering for publications and patents
- Add Year filter dropdown with dynamic record counts in admin console (/console/publications)
- Add Year filter dropdown in public category publications page (/publications/[category])
- Comply with AC-44 WCAG 2.1 AA small text contrast rules (text-cobalt-dark)
- Verified with E2E test suite (Exit Code 0)
2026-08-25 16:07:44 +09:00
Godopu d3dc7f19d9 refactor: eliminate dead code, redundant API queries, and enforce empty JSON array slices
- Remove redundant adminGetStatsSummary query and unused AdminStatsSummary interface
- Initialize empty repository slices with make([]T, 0) to ensure empty JSON arrays instead of null
- Add optional chaining in dashboard aggregations for strict null-safety
- Passed 100% unanimous peer reviews from planner-reviewer-claude-01 and reviewer-cline-01
2026-08-25 15:47:31 +09:00
Godopu 4c78ea819f fix(console): fix sidebar active route highlight matching and apply primary color hover styling
- Normalize route matching with cleanPath and cleanHref prefix comparison
- Highlight all sub-routes (Research Projects, Research Areas, Members, etc.) correctly when active
- Replace white hover effect with primary cobalt hover color (hover:bg-cobalt/10 hover:text-cobalt)
- Verified with E2E test suite (Exit Code 0)
2026-08-25 15:24:44 +09:00
Godopu 5285e3fd02 feat(console): hide AppHeader/Footer on /console and fix sidebar to full-height absolute/fixed position
- Hide Header and Footer components automatically when navigating to /console routes
- Set AdminLayout sidebar to fixed full-height navigation (md:fixed md:top-0 md:left-0 md:h-screen)
- Offset main dashboard content (md:ml-64) with independent scroll container
- Passed all 12 E2E and quality gates cleanly
2026-08-25 15:19:32 +09:00
Godopu 575fbdb6de fix(console,api): direct render AdminLoginForm on unauthenticated and harden URL normalization
- Directly render reusable AdminLoginForm component in AdminLayout when unauthenticated, eliminating fragile router redirects and stuck states
- Harden normalizeApiUrl in both api.ts and adminApi.ts to handle all path suffix combinations
- All tests and peer reviews passed with unanimous 100% PASS verdicts
2026-08-25 15:08:40 +09:00
Godopu 643ce8376c fix(api): ensure /api/v1 prefix normalization across all custom host URLs
- Add normalizeApiUrl() to ensure custom host URLs (e.g. http://puclouds-2:8080) automatically append /api/v1
- Fix 404 error when querying /stats/summary instead of /api/v1/stats/summary
2026-08-25 14:45:41 +09:00
Godopu 54fe425b3c fix(console): fix stuck authentication check and add reliable redirect to /console/login
- Add immediate redirection to /console/login when unauthenticated in AdminLayout
- Add timeout (4000ms) with AbortController in adminApi.ts to prevent infinite pending fetch
- Provide explicit sign-in link in layout fallback view
2026-08-25 14:42:26 +09:00
Godopu 9bdc9bdd9a feat(arch): unify frontend and backend into single Go backend server with static export
- Configure Next.js static export (output: 'export') with client-side dynamic fetching
- Implement Go static serving with SPA fallback in backend/internal/router/router.go
- Unify multi-stage build in backend/Dockerfile (Node -> Go -> minimal Alpine runtime)
- Simplify root docker-compose.yml to single anl-app service on port 8080
- Update REQUIREMENTS.md DM-03 and AC-17 normative contracts to v3.0 Unified Go Backend
- Restore strict regression verification in Gate 9 (AC-35/36/37) and unittest suite
- All Go unit tests, TypeScript type checks, ESLint, and E2E gates passed clean
2026-08-25 12:54:39 +09:00
Godopu 5f87631530 fix(auth,api): resolve SSR vs CSR API URL routing and sanitize ADMIN_TOKEN parsing
- Implement getApiBaseUrl() and getAdminApiBaseUrl() to dynamically distinguish between Server/SSR (process.env.API_BASE_URL) and Client/CSR (process.env.NEXT_PUBLIC_API_BASE_URL)
- Fix missing data on main landing page in containerized environment
- Sanitize and trim ADMIN_TOKEN parsing in Go backend to prevent whitespace/quote mismatch
- Real-time token validation in AdminLayout with auto-redirection on token mismatch
- All unit and E2E test gates passed clean with unanimous PASS reviews
2026-08-25 11:42:40 +09:00
Godopu 50cad60c07 fix(docker): enhance docker-compose network bridge and build-args based on reviewer consensus
- Add anl-net bridge network for reliable inter-service DNS resolution (http://anl-backend:8080/api/v1)
- Support NEXT_PUBLIC_API_BASE_URL build argument in frontend Dockerfile and compose
- Add prerender cache permissions (mkdir .next && chown nextjs:nodejs) in refer_landing_page/Dockerfile
- Add root .env.example with documented port and token configurations
- Add backend/.dockerignore to optimize backend build context
- Pass all unit tests and E2E gates with 100% unanimous PASS review verdicts
2026-08-25 11:03:29 +09:00
Godopu 19f5056bef feat(docker): implement full frontend Next.js containerization and multi-service docker-compose
- Create multi-stage standalone Dockerfile for Next.js frontend (node:20-alpine, non-root nextjs:nodejs user)
- Configure output: 'standalone' in refer_landing_page/next.config.js
- Add refer_landing_page/.dockerignore for build context optimization
- Wire anl-backend and anl-frontend services in root docker-compose.yml with healthchecks, network dependencies, and persistent volume storage
2026-08-25 10:49:21 +09:00
Godopu 3f452468d6 feat(console,api): implement /console Admin Dashboard and Go backend full CRUD REST APIs
- Add comprehensive /console admin web UI for managing research projects, areas, members, publications, patents, lectures, and standards
- Implement Admin token authentication middleware (RequireAdminToken) with Bearer token validation
- Implement POST, PUT, DELETE REST API endpoints for all database entities across 5 domains
- Add typed admin API client in refer_landing_page/lib/adminApi.ts with localStorage session persistence
- Enhance E2E test runner to manage backend server lifecycle during automated tests
- Pass all 12 quality gates cleanly with unanimous reviewer PASS verdicts
2026-08-24 22:21:12 +09:00
Godopu dadd14feb1 test(e2e,verify): enhance live API verification and dynamic port binding in E2E runner
- Update verify_counts.py to validate SQLite database records and live Go REST API endpoints directly
- Harden E2E test runner with dynamic free port binding (get_free_port) to prevent port collisions
- Add exact regex matching for dynamic (ƒ) and static (○) route table allocations
- Ignore root build binary artifacts in backend/.gitignore
2026-08-24 20:31:42 +09:00
Godopu f96f687dd1 feat(frontend): purge all static content fallback files and enforce strict backend-only dynamic rendering
- Delete all legacy static content data files (members.ts, publications.ts, lectures.ts, standards.ts, projects.ts)
- Remove all fallback imports and static fallbacks across all page components
- Enforce strict dynamic runtime fetching where pages render empty datasets when Go backend server is unavailable
2026-08-24 20:10:25 +09:00
Godopu 5041ab1ea8 feat(frontend): convert to live real-time dynamic runtime fetching with force-dynamic and cache no-store
- Set cache: 'no-store' in lib/api.ts to trigger real-time REST API requests on every page load
- Add export const dynamic = 'force-dynamic' across all 6 app pages (/home, /members, /publications, /lectures, /standardization)
- Update REQUIREMENTS.md and E2E test runner to validate live server routes and dynamic runtime fetching
- Pass all 12 quality gates cleanly
2026-08-24 19:25:26 +09:00
Godopu 9cb6258d3d feat(frontend): connect Next.js server components to Go backend REST API with resilient fallback
- Implement typed REST API client in refer_landing_page/lib/api.ts
- Support API_BASE_URL environment variable with graceful fallback to static content
- Connect Home page (projects, areas, stats), Members page (active, alumni), Publications (highlights, list, patents), Lectures, and Standardization pages to backend endpoints
- Pass all 12 SSG build, TypeScript, ESLint, and E2E quality gates
2026-08-24 18:40:46 +09:00
Godopu fb6881070c feat(backend,docker,docs): implement Go/Gin/SQLite REST API server, Docker containerization, and architecture specifications
- Implement standalone Go backend API server using Gin and pure-Go SQLite (modernc.org/sqlite)
- Add 11-table schema DDL migrations (000001_init.up.sql) based on DATA_TABLE.md
- Add seed data ingestion tool (cmd/seed) and static TypeScript content exporter (cmd/export-content)
- Add configuration loader (internal/config) supporting environment variables and .env files (HOST, PORT, DB_PATH, GIN_MODE, CORS_ALLOW_ORIGINS, AUTO_MIGRATE)
- Add lightweight multi-stage Dockerfile and docker-compose.yml with persistent SQLite volume
- Add comprehensive architecture specification (ARCHITECTURE.md) and REST API interface specification (API_INTERFACE.md)
- Harmonize frontend publications page to consume isHighlight flag from database-synced content
2026-08-24 17:34:51 +09:00
Godopu 75bf334fec fix(home): update project metadata label from Standards Track to Organization 2026-08-24 16:17:03 +09:00
Godopu f34e9bad57 refactor(pages,a11y,seo): enhance subpage metadata, semantic HTML, accessibility, and E2E regression tests
- Standardize Next.js Metadata and dynamic generateMetadata across all subpages
- Fix duplicate main landmark in publications page by replacing nested main with div
- Unify Members page spacing (space-y-10 sm:space-y-14, pt-6 md:pt-8) and responsive H2s
- Add aria-label and focus ring to CategoryNav View All links for a11y
- Derive dynamic course history semester ranges in Lectures page
- Add 3 comprehensive E2E test cases (test_08, test_09, test_10) for highlights, active border, CITE brand links, and English H1 headers
2026-08-24 16:10:11 +09:00
Godopu b1640cdac4 feat(publications,standardization,ui): harmonize typography, active category border, and 5 representative highlights
- Refine Publications overview & category detail pages with clean typography and spacing
- Add active border line (border-2 border-cobalt-dark) on active CategoryNav card
- Replace 10 highlights with 5 designated representative publications
- Add Patent subtitle '(IoT Architecture & Protocols, etc ...)'
- Update Footer link label from 'College of IT Engineering' to 'CITE'
- Clean up Standardization & Lectures page header kickers and spacing
2026-08-24 15:55:59 +09:00
Godopu a2b626b192 feat(theme,ui): apply pure white background in light mode and improve accessibility
- Update light mode theme tokens to pure white (#ffffff) background and soft gray borders
- Add supports-[height:100dvh] fallback to ProfessorDetailsDialog max-height
- Add aria-hidden to decorative arrows in Header mobile navigation
2026-08-22 22:10:09 +09:00
Godopu 44c21ab59e feat(members,header): overhaul members page with CV dialog and english-ify navigation
- Rewrite Members page to English: LAB MEMBERS, Prof. Seok-Joo Koh, Active Researchers, and Graduates
- Add ProfessorDetailsDialog component with comprehensive CV modal
- Standardize degree course label mappings (Ph. D., M. S.)
- Translate mobile navigation panel and header aria-labels to English
- Update E2E test suite assertions for the updated members structure
2026-08-21 23:16:06 +09:00
Godopu 8eabd7a2db feat(ui): modernize footer layout, reorder metrics, and finalize English localization
- Modernize Footer with animated favicon logo symbol and pill-badge links
- Reorder Footer contact block: Prof. Seok-Joo Koh -> email -> English address
- Reorder home metrics: International Journals -> Standardization -> Patent
- Add (IoT Architecture & Protocols) subtitle to Patent metric
- Translate Header desktop masthead location to Daegu / South Korea
- Clean up redundant flex classes and font colophon text
2026-08-21 14:03:28 +09:00
Godopu b8f1a000fd feat(footer): internationalize footer layout and remove directions section
- Remove #directions section and DirectionsBlock component from home page
- Translate Footer masthead brand titles to ANL and AI Agent Networking Lab
- Update Footer affiliated institution links to KNU, CSE, and College of IT Engineering
- Add advisor information (Prof. Seok-Joo Koh) and translate address to English
- Translate Footer quick navigation links and colophon/copyright text
- Update E2E test assertions for the updated footer layout and address
2026-08-21 13:20:15 +09:00
Godopu 184ff8263c feat(header): add favicon logo symbol and update brand text
- Add animated agent network favicon logo symbol to header brand link
- Update brand typography to ANL and AI Agent Networking LAB
- Update E2E test assertions for the updated header branding
2026-08-21 12:54:15 +09:00
Godopu 1b84803582 feat(home): redesign homepage sections according to TO-FIX requirements
- Translate intro tagline and section headers to English
- Update home metrics to reflect international publications, patents, and standards
- Revamp Research Projects section with AIoT & AI-RAN, MCM, and MVQM projects
- Update NRF standards track label to National Research Foundation of Korea
- Reconstruct Research Areas section into 14-topic responsive card grid with 2-line header
- Add International Standardizations section with global SDO listings and link
- Add mobile max-w 500px, horizontal centering, and 30px vertical margin to hero composition
- Update E2E test assertions for new content and structure
2026-08-21 12:35:15 +09:00
Godopu 1470806e06 feat(header): add smart sticky scroll animation and styling refinements
- Implement RAF-throttled smart sticky scroll interaction on app header
- Add flow-root BFC isolation, vertical margin, and mobile menu scroll container
- Update brand logo kicker hover color to primary accent (cobalt-dark)
- Fix theme script hydration warning with suppressHydrationWarning
- Add favicon.ico and icon.svg to resolve root /favicon.ico 404
- Add MAM orchestration guidelines, env generation script, and templates
2026-08-21 10:51:26 +09:00
Godopu a838af4b94 fix(color): eliminate redundant dark: accent modifiers (R-8.29), resolve A-1/A-2/A-9 contrast issues, and implement C11-9 quality gate 2026-08-20 22:42:26 +09:00
Godopu 7e431de1b7 style: apply Primary Color (#4E77FF) across all section kickers, subheaders, and decorative dashes 2026-08-20 22:42:26 +09:00
Godopu c4298bb60a style: apply Primary Color (#4E77FF) to AppHeader active tabs and Hero Orchestration highlights 2026-08-20 22:42:26 +09:00
Godopu 0d58be61a0 style: apply accessibility badge contrast refinements and update primary color to #4E77FF 2026-08-20 22:42:26 +09:00
Godopu 898afbcad6 style: update primary color token to #4E77FF 2026-08-20 22:42:26 +09:00
Godopu 5526b70144 style: update primary color token to #4A7CE8 and secondary to #D9342B 2026-08-20 22:42:26 +09:00
Godopu 30e5bd8429 fix: resolve review issues B1-B6 (color token alpha contract, Header contrast/budget B plan, Publications Overview page, N1-N8 cleanups) with 100% E2E PASS 2026-08-20 22:42:26 +09:00
Godopu b7f2e050e7 style: split QUIC MULTI-AGENT ORCHESTRATION into QUIC BASED INTERFACE MODULE and MULTI-AGENT ORCHESTRATION 2026-07-30 23:37:30 +09:00
Godopu 0b95bb53e0 style: update Marquee ticker items in Footer per user request 2026-07-30 23:36:33 +09:00
Godopu 4b49891f25 style: update main hero headline to Multi-Agent Orchestration 2026-07-30 23:32:01 +09:00
Godopu b1f5096063 style: change top masthead kicker text from Issue 01 — 2026 to KNU/CSE/ANL 2026-07-30 23:29:52 +09:00
Godopu 40147f6169 style: unify top margin below AppHeader identically across all 5 pages 2026-07-30 23:26:57 +09:00
Godopu 0e10546906 style: reduce spacing and top margins by half on Members, Lectures, and Standardization pages 2026-07-30 23:23:43 +09:00
Godopu 2455490ff1 style: reduce top margin and vertical gaps by half on Publications page 2026-07-30 23:22:24 +09:00
Godopu a3a9a86d46 style: remove red bar element in front of top hero kicker text 2026-07-30 23:20:17 +09:00
Godopu 528f93cb51 style: shift top hero kicker element closer to AppHeader by reducing top margin by half 2026-07-30 23:19:11 +09:00
Godopu cb22a5e019 style: apply generous 1.7x spacing expansion across all page sections and container padding 2026-07-30 23:17:31 +09:00
Godopu 1b38df79b7 style: expand section spacing and page top/bottom margins across all pages 2026-07-30 23:16:34 +09:00
Godopu 881d55e3b3 style: add vertical padding above and below AppHeader for generous layout spacing 2026-07-30 23:14:45 +09:00
Godopu 8bbe3e05f1 style: center align left hero text column vertically with right illustration card 2026-07-30 23:13:56 +09:00
Godopu ec905c995d style: update Publications metric counter label to 220+ 2026-07-30 23:12:22 +09:00
Godopu 40d379d09e style: update main magazine headline to Multi-Agent Orchestration 2026-07-30 23:09:49 +09:00