Files
jaengseung-made/app/page.tsx
gahusb e05def83d6 Add contact form backend and deployment guide
- Resend API 통합 (이메일 발송)
- ContactForm 클라이언트 컴포넌트 생성
- API Route (/api/contact) 구현
- 입력 검증 및 에러 처리
- 성공/실패 메시지 표시
- 환경변수 설정 (.env.local, .env.example)
- 배포 가이드 작성 (DEPLOYMENT.md)
  - Resend 설정 방법
  - Vercel 배포 가이드
  - 가비아 도메인 연결 방법
  - 트러블슈팅 가이드

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-10 02:01:05 +09:00

379 lines
20 KiB
TypeScript

import ContactForm from './components/ContactForm';
export default function Home() {
return (
<div className="min-h-screen">
{/* Navigation */}
<nav className="fixed top-0 w-full bg-white/90 backdrop-blur-sm z-50 border-b border-gray-200">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex justify-between items-center h-16">
<div className="text-2xl font-bold text-blue-900"></div>
<div className="hidden md:flex space-x-8">
<a href="#services" className="text-gray-700 hover:text-blue-700 transition"></a>
<a href="#portfolio" className="text-gray-700 hover:text-blue-700 transition"></a>
<a href="#about" className="text-gray-700 hover:text-blue-700 transition"></a>
<a href="#contact" className="bg-blue-700 text-white px-6 py-2 rounded-lg hover:bg-blue-800 transition"></a>
</div>
</div>
</div>
</nav>
{/* Hero Section */}
<section className="pt-32 pb-20 px-4 bg-gradient-to-br from-blue-50 via-white to-emerald-50">
<div className="max-w-7xl mx-auto text-center">
<div className="inline-block mb-4 px-4 py-2 bg-blue-100 text-blue-700 rounded-full text-sm font-semibold">
🤖 RPA
</div>
<h1 className="text-5xl md:text-7xl font-bold text-gray-900 mb-6 leading-tight">
<span className="text-blue-700"></span><br />
<span className="text-emerald-600"></span>
</h1>
<p className="text-xl text-gray-600 mb-10 max-w-3xl mx-auto leading-relaxed">
RPA , / .<br />
, .
</p>
<div className="flex flex-col sm:flex-row gap-4 justify-center">
<a href="#contact" className="bg-blue-700 text-white px-8 py-4 rounded-lg text-lg font-semibold hover:bg-blue-800 transition shadow-lg">
</a>
<a href="#services" className="border-2 border-blue-700 text-blue-700 px-8 py-4 rounded-lg text-lg font-semibold hover:bg-blue-50 transition">
</a>
</div>
<div className="mt-16 grid grid-cols-2 md:grid-cols-4 gap-8 max-w-4xl mx-auto">
<div>
<div className="text-4xl font-bold text-blue-700">100+</div>
<div className="text-gray-600 mt-2"> </div>
</div>
<div>
<div className="text-4xl font-bold text-blue-700">24h</div>
<div className="text-gray-600 mt-2"> </div>
</div>
<div>
<div className="text-4xl font-bold text-blue-700">98%</div>
<div className="text-gray-600 mt-2"> </div>
</div>
<div>
<div className="text-4xl font-bold text-blue-700">5+</div>
<div className="text-gray-600 mt-2"> </div>
</div>
</div>
</div>
</section>
{/* Services Section */}
<section id="services" className="py-20 px-4 bg-white">
<div className="max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-4xl md:text-5xl font-bold text-gray-900 mb-4"> </h2>
<p className="text-xl text-gray-600"> </p>
</div>
<div className="grid md:grid-cols-3 gap-8">
{/* RPA 자동화 - Featured */}
<div className="relative bg-gradient-to-br from-blue-700 to-blue-900 rounded-2xl p-8 text-white shadow-2xl transform hover:scale-105 transition">
<div className="absolute -top-4 -right-4 bg-emerald-500 text-white px-4 py-2 rounded-full text-sm font-bold">
</div>
<div className="text-5xl mb-4">🤖</div>
<h3 className="text-2xl font-bold mb-3">RPA </h3>
<p className="text-blue-100 mb-6">
</p>
<div className="space-y-3 mb-6">
<div className="flex items-center">
<span className="mr-2"></span> /
</div>
<div className="flex items-center">
<span className="mr-2"></span>
</div>
<div className="flex items-center">
<span className="mr-2"></span>
</div>
<div className="flex items-center">
<span className="mr-2"></span> /
</div>
</div>
<div className="border-t border-blue-600 pt-4">
<div className="text-3xl font-bold mb-2">50~</div>
<div className="text-blue-200 text-sm"> </div>
</div>
</div>
{/* 웹 개발 */}
<div className="bg-white border-2 border-gray-200 rounded-2xl p-8 hover:border-blue-500 hover:shadow-xl transition">
<div className="text-5xl mb-4">💻</div>
<h3 className="text-2xl font-bold text-gray-900 mb-3"> </h3>
<p className="text-gray-600 mb-6">
/
</p>
<div className="space-y-3 mb-6 text-gray-700">
<div className="flex items-center">
<span className="mr-2"></span>
</div>
<div className="flex items-center">
<span className="mr-2"></span>
</div>
<div className="flex items-center">
<span className="mr-2"></span>
</div>
<div className="flex items-center">
<span className="mr-2"></span> E-Commerce
</div>
</div>
<div className="border-t border-gray-200 pt-4">
<div className="text-3xl font-bold text-gray-900 mb-2">200~</div>
<div className="text-gray-500 text-sm"> </div>
</div>
</div>
{/* 앱 개발 */}
<div className="bg-white border-2 border-gray-200 rounded-2xl p-8 hover:border-blue-500 hover:shadow-xl transition">
<div className="text-5xl mb-4">📱</div>
<h3 className="text-2xl font-bold text-gray-900 mb-3"> </h3>
<p className="text-gray-600 mb-6">
iOS/Android
</p>
<div className="space-y-3 mb-6 text-gray-700">
<div className="flex items-center">
<span className="mr-2"></span>
</div>
<div className="flex items-center">
<span className="mr-2"></span>
</div>
<div className="flex items-center">
<span className="mr-2"></span>
</div>
<div className="flex items-center">
<span className="mr-2"></span>
</div>
</div>
<div className="border-t border-gray-200 pt-4">
<div className="text-3xl font-bold text-gray-900 mb-2">300~</div>
<div className="text-gray-500 text-sm"> </div>
</div>
</div>
</div>
{/* Custom Solution */}
<div className="mt-12 bg-gradient-to-r from-gray-50 to-blue-50 rounded-2xl p-8 border border-gray-200">
<div className="flex flex-col md:flex-row items-center justify-between">
<div className="mb-4 md:mb-0">
<h3 className="text-2xl font-bold text-gray-900 mb-2">🔧 </h3>
<p className="text-gray-600"> ? .</p>
</div>
<a href="#contact" className="bg-gray-900 text-white px-8 py-3 rounded-lg font-semibold hover:bg-gray-800 transition whitespace-nowrap">
</a>
</div>
</div>
</div>
</section>
{/* Portfolio Section */}
<section id="portfolio" className="py-20 px-4 bg-gray-50">
<div className="max-w-7xl mx-auto">
<div className="text-center mb-16">
<h2 className="text-4xl md:text-5xl font-bold text-gray-900 mb-4"> </h2>
<p className="text-xl text-gray-600"> </p>
</div>
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
{/* Portfolio Item 1 */}
<div className="bg-white rounded-xl overflow-hidden shadow-lg hover:shadow-2xl transition">
<div className="bg-gradient-to-br from-blue-500 to-blue-700 h-48 flex items-center justify-center">
<div className="text-white text-6xl">📊</div>
</div>
<div className="p-6">
<div className="text-sm text-blue-700 font-semibold mb-2">RPA </div>
<h3 className="text-xl font-bold text-gray-900 mb-2"> </h3>
<p className="text-gray-600 mb-4">
5 10
</p>
<div className="flex flex-wrap gap-2">
<span className="px-3 py-1 bg-blue-100 text-blue-700 rounded-full text-sm">Python</span>
<span className="px-3 py-1 bg-blue-100 text-blue-700 rounded-full text-sm">Pandas</span>
<span className="px-3 py-1 bg-blue-100 text-blue-700 rounded-full text-sm">Openpyxl</span>
</div>
</div>
</div>
{/* Portfolio Item 2 */}
<div className="bg-white rounded-xl overflow-hidden shadow-lg hover:shadow-2xl transition">
<div className="bg-gradient-to-br from-emerald-500 to-emerald-700 h-48 flex items-center justify-center">
<div className="text-white text-6xl">🌐</div>
</div>
<div className="p-6">
<div className="text-sm text-emerald-700 font-semibold mb-2"> </div>
<h3 className="text-xl font-bold text-gray-900 mb-2"> </h3>
<p className="text-gray-600 mb-4">
SEO 200%
</p>
<div className="flex flex-wrap gap-2">
<span className="px-3 py-1 bg-emerald-100 text-emerald-700 rounded-full text-sm">Next.js</span>
<span className="px-3 py-1 bg-emerald-100 text-emerald-700 rounded-full text-sm">React</span>
<span className="px-3 py-1 bg-emerald-100 text-emerald-700 rounded-full text-sm">Tailwind</span>
</div>
</div>
</div>
{/* Portfolio Item 3 */}
<div className="bg-white rounded-xl overflow-hidden shadow-lg hover:shadow-2xl transition">
<div className="bg-gradient-to-br from-purple-500 to-purple-700 h-48 flex items-center justify-center">
<div className="text-white text-6xl">🤖</div>
</div>
<div className="p-6">
<div className="text-sm text-purple-700 font-semibold mb-2">RPA </div>
<h3 className="text-xl font-bold text-gray-900 mb-2"> </h3>
<p className="text-gray-600 mb-4">
</p>
<div className="flex flex-wrap gap-2">
<span className="px-3 py-1 bg-purple-100 text-purple-700 rounded-full text-sm">Python</span>
<span className="px-3 py-1 bg-purple-100 text-purple-700 rounded-full text-sm">Selenium</span>
<span className="px-3 py-1 bg-purple-100 text-purple-700 rounded-full text-sm">BeautifulSoup</span>
</div>
</div>
</div>
</div>
<div className="text-center mt-12">
<p className="text-gray-600 mb-4"> GitHub에서 </p>
<a href="#contact" className="inline-block border-2 border-blue-700 text-blue-700 px-8 py-3 rounded-lg font-semibold hover:bg-blue-50 transition">
</a>
</div>
</div>
</section>
{/* About Section */}
<section id="about" className="py-20 px-4 bg-slate-900 text-white">
<div className="max-w-7xl mx-auto">
<div className="grid md:grid-cols-2 gap-12 items-center">
<div>
<h2 className="text-4xl md:text-5xl font-bold mb-6"> <br /> </h2>
<p className="text-xl text-gray-300 mb-8 leading-relaxed">
5 ,
.
, .
</p>
<div className="space-y-4">
<div className="flex items-start">
<div className="text-2xl mr-4">🏢</div>
<div>
<div className="font-bold text-lg"> </div>
<div className="text-gray-400"> </div>
</div>
</div>
<div className="flex items-start">
<div className="text-2xl mr-4"></div>
<div>
<div className="font-bold text-lg"> </div>
<div className="text-gray-400"> 24 , </div>
</div>
</div>
<div className="flex items-start">
<div className="text-2xl mr-4">🎯</div>
<div>
<div className="font-bold text-lg"> </div>
<div className="text-gray-400"> ROI를 </div>
</div>
</div>
</div>
</div>
<div className="bg-slate-800 rounded-2xl p-8">
<h3 className="text-2xl font-bold mb-6"> </h3>
<div className="space-y-6">
<div>
<div className="text-sm text-gray-400 mb-2">Backend</div>
<div className="flex flex-wrap gap-2">
<span className="px-4 py-2 bg-blue-900 rounded-lg">Python</span>
<span className="px-4 py-2 bg-blue-900 rounded-lg">Node.js</span>
<span className="px-4 py-2 bg-blue-900 rounded-lg">Java</span>
<span className="px-4 py-2 bg-blue-900 rounded-lg">C/C++/C#</span>
</div>
</div>
<div>
<div className="text-sm text-gray-400 mb-2">Frontend</div>
<div className="flex flex-wrap gap-2">
<span className="px-4 py-2 bg-blue-900 rounded-lg">React</span>
<span className="px-4 py-2 bg-blue-900 rounded-lg">Next.js</span>
<span className="px-4 py-2 bg-blue-900 rounded-lg">TypeScript</span>
</div>
</div>
<div>
<div className="text-sm text-gray-400 mb-2">RPA & Automation</div>
<div className="flex flex-wrap gap-2">
<span className="px-4 py-2 bg-emerald-900 rounded-lg">Selenium</span>
<span className="px-4 py-2 bg-emerald-900 rounded-lg">Pandas</span>
<span className="px-4 py-2 bg-emerald-900 rounded-lg">Playwright</span>
<span className="px-4 py-2 bg-emerald-900 rounded-lg">RPA</span>
</div>
</div>
<div>
<div className="text-sm text-gray-400 mb-2">Database & Cloud</div>
<div className="flex flex-wrap gap-2">
<span className="px-4 py-2 bg-blue-900 rounded-lg">PostgreSQL</span>
<span className="px-4 py-2 bg-blue-900 rounded-lg">MongoDB</span>
<span className="px-4 py-2 bg-blue-900 rounded-lg">AWS</span>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
{/* Contact Section */}
<section id="contact" className="py-20 px-4 bg-gradient-to-br from-blue-50 to-emerald-50">
<div className="max-w-4xl mx-auto">
<div className="text-center mb-12">
<h2 className="text-4xl md:text-5xl font-bold text-gray-900 mb-4"> </h2>
<p className="text-xl text-gray-600"> . 24 .</p>
</div>
<ContactForm />
</div>
</section>
{/* Footer */}
<footer className="bg-slate-900 text-white py-12 px-4">
<div className="max-w-7xl mx-auto">
<div className="grid md:grid-cols-4 gap-8 mb-8">
<div>
<div className="text-2xl font-bold mb-4"></div>
<p className="text-gray-400"> <br /> </p>
</div>
<div>
<h4 className="font-bold mb-4"></h4>
<ul className="space-y-2 text-gray-400">
<li><a href="#services" className="hover:text-white transition">RPA </a></li>
<li><a href="#services" className="hover:text-white transition"> </a></li>
<li><a href="#services" className="hover:text-white transition"> </a></li>
</ul>
</div>
<div>
<h4 className="font-bold mb-4"></h4>
<ul className="space-y-2 text-gray-400">
<li><a href="#portfolio" className="hover:text-white transition"></a></li>
<li><a href="#about" className="hover:text-white transition"> </a></li>
</ul>
</div>
<div>
<h4 className="font-bold mb-4"></h4>
<ul className="space-y-2 text-gray-400">
<li>bgg8988@gmail.com</li>
<li>010-3907-1392</li>
</ul>
</div>
</div>
<div className="border-t border-gray-800 pt-8 text-center text-gray-400">
<p>&copy; 2025 . All rights reserved.</p>
</div>
</div>
</footer>
</div>
);
}