✨ 기능: - 기간제 근로자 작업관리 시스템 기본 구조 - 한국어 기반 프론트엔드 (로그인, 대시보드, 작업자 관리) - Node.js Express 백엔드 API 서버 구조 - MySQL 데이터베이스 스키마 설계 - 14000번대 포트 구성으로 충돌 방지 📁 구조: - frontend/ : HTML, CSS, JS (Bootstrap 5) - backend/ : Node.js, Express, MySQL - database/ : 초기화 스크립트 - docs/ : 문서 🔌 포트: - 웹: 14000, API: 14001, DB: 14002, phpMyAdmin: 14003 🎯 다음 단계: 백엔드 API 라우트 구현 및 Docker 설정
141 lines
5.5 KiB
HTML
141 lines
5.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ko">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>작업관리 시스템 - 로그인</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css" rel="stylesheet">
|
|
<style>
|
|
body {
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
min-height: 100vh;
|
|
display: flex;
|
|
align-items: center;
|
|
font-family: 'Noto Sans KR', sans-serif;
|
|
}
|
|
.login-container {
|
|
background: white;
|
|
border-radius: 15px;
|
|
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
|
|
overflow: hidden;
|
|
max-width: 400px;
|
|
width: 100%;
|
|
}
|
|
.login-header {
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
color: white;
|
|
padding: 2rem;
|
|
text-align: center;
|
|
}
|
|
.login-body {
|
|
padding: 2rem;
|
|
}
|
|
.form-control {
|
|
border-radius: 10px;
|
|
border: 2px solid #e9ecef;
|
|
padding: 12px 15px;
|
|
font-size: 16px;
|
|
}
|
|
.form-control:focus {
|
|
border-color: #667eea;
|
|
box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
|
|
}
|
|
.btn-login {
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
border: none;
|
|
border-radius: 10px;
|
|
padding: 12px;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
width: 100%;
|
|
color: white;
|
|
transition: transform 0.2s;
|
|
}
|
|
.btn-login:hover {
|
|
transform: translateY(-2px);
|
|
color: white;
|
|
}
|
|
.input-group-text {
|
|
background: #f8f9fa;
|
|
border: 2px solid #e9ecef;
|
|
border-right: none;
|
|
border-radius: 10px 0 0 10px;
|
|
}
|
|
.input-group .form-control {
|
|
border-left: none;
|
|
border-radius: 0 10px 10px 0;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-6">
|
|
<div class="login-container">
|
|
<div class="login-header">
|
|
<h2><i class="bi bi-tools"></i> 작업관리 시스템</h2>
|
|
<p class="mb-0">기간제 근로자 작업관리</p>
|
|
</div>
|
|
<div class="login-body">
|
|
<form id="loginForm">
|
|
<div class="mb-3">
|
|
<label for="username" class="form-label">아이디</label>
|
|
<div class="input-group">
|
|
<span class="input-group-text">
|
|
<i class="bi bi-person"></i>
|
|
</span>
|
|
<input type="text" class="form-control" id="username" name="username"
|
|
placeholder="아이디를 입력하세요" required>
|
|
</div>
|
|
</div>
|
|
<div class="mb-4">
|
|
<label for="password" class="form-label">비밀번호</label>
|
|
<div class="input-group">
|
|
<span class="input-group-text">
|
|
<i class="bi bi-lock"></i>
|
|
</span>
|
|
<input type="password" class="form-control" id="password" name="password"
|
|
placeholder="비밀번호를 입력하세요" required>
|
|
</div>
|
|
</div>
|
|
<button type="submit" class="btn btn-login">
|
|
<i class="bi bi-box-arrow-in-right me-2"></i>로그인
|
|
</button>
|
|
</form>
|
|
|
|
<div class="mt-4 text-center">
|
|
<small class="text-muted">
|
|
<strong>기본 계정:</strong><br>
|
|
관리자: admin / admin123<br>
|
|
사용자: user / user123
|
|
</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 알림 모달 -->
|
|
<div class="modal fade" id="alertModal" tabindex="-1">
|
|
<div class="modal-dialog">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">알림</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
|
</div>
|
|
<div class="modal-body" id="alertMessage">
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">확인</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
|
<script src="js/auth.js"></script>
|
|
</body>
|
|
</html>
|