Files
jongryangje/docs/노션_업로드용_작업내역.md

242 lines
6.6 KiB
Markdown
Raw Normal View History

# 종량제 쓰레기봉투 물류시스템 개발 - 작업내역
> 노션 업로드용 상세 작업내역 문서
> 작성일: 2025년 기준
---
## 📋 프로젝트 개요
| 항목 | 내용 |
|------|------|
| 프로젝트명 | 종량제 쓰레기봉투 물류시스템 |
| 기술 스택 | CodeIgniter 4, PHP 8.2+, MariaDB |
| 개발 환경 | jongryangje.local:8080 |
---
## ✅ 완료된 작업 목록
### 1. 로그인/로그아웃 기능 개발
#### 1.1 구현 내용
- **로그인 화면** (`/login`)
- 아이디/비밀번호 입력 폼
- CSRF 토큰 적용
- 유효성 검증 (필수 입력, 최대 길이)
- 에러/성공 메시지 표시
- **로그인 처리** (`POST /login`)
- 아이디·비밀번호 검증
- 계정 상태 체크 (정상/정지/탈퇴)
- 로그인 성공 시 세션 저장 (`mb_idx`, `mb_id`, `mb_name`, `mb_level`, `logged_in`)
- 최근 접속일(`mb_latestdate`) 업데이트
- **로그아웃 처리** (`/logout`)
- 세션 파괴
- 로그아웃 이력 기록
- 로그인 페이지로 리다이렉트
#### 1.2 관련 파일
| 파일 경로 | 설명 |
|-----------|------|
| `app/Controllers/Auth.php` | 로그인/로그아웃/회원가입 컨트롤러 |
| `app/Views/auth/login.php` | 로그인 화면 뷰 |
| `app/Models/MemberModel.php` | 회원 조회 모델 |
| `app/Models/MemberLogModel.php` | 로그 이력 모델 |
#### 1.3 로그 테이블
- **member_log** 테이블: 로그인 성공/실패 이력 저장
- 기록 항목: 회원ID, 성공여부, IP, User-Agent, 메시지, 로그아웃 시각 등
---
### 2. 로그인 후 메인 화면 연동
#### 2.1 구현 내용
- 로그인 성공 시 **일일봉투 수불현황** 페이지로 자동 이동
- 기존 대시보드(`home/dashboard`) 대신 `bag/daily_inventory` 뷰 표시
#### 2.2 수정 파일
| 파일 | 변경 내용 |
|------|-----------|
| `app/Controllers/Home.php` | `view('home/dashboard')``view('bag/daily_inventory')` |
| `app/Controllers/Auth.php` | 리다이렉트 URL을 `site_url('/')`로 명시 |
---
### 3. 일일봉투 수불현황 페이지 개발
#### 3.1 페이지 구성
Google Stitch로 제작한 HTML을 CodeIgniter 뷰로 변환하여 구현
**레이아웃 구조**
1. **상단 헤더**
- 로고 + 시스템명
- 메뉴 네비게이션
- 로그아웃(종료) 아이콘
2. **페이지 제목 바**
- 화면 ID: `[w_gm804r]`
- 제목: 일일 봉투 수불 현황
3. **컨트롤 패널 (검색/필터)**
- 조회기간 (날짜 ~ 날짜)
- 봉투구분 (드롭다운)
- 봉투형식 (드롭다운)
- 대행소 (드롭다운)
- 액션 버튼: 조회, 엑셀저장, 인쇄, 종료
4. **데이터 테이블**
- 일자 | 품 목 | 전일재고 | 입고(입고/반품/입고계) | 출고(판매/일반불출·무료불출/반품/기타/출고계) | 잔량
5. **푸터**
- Ready..... | 북구 | Ver.. | 날짜/시간
#### 3.2 관련 파일
| 파일 경로 | 설명 |
|-----------|------|
| `app/Views/bag/daily_inventory.php` | 일일봉투 수불현황 뷰 (신규 생성) |
| `app/Controllers/Home.php` | 로그인 시 해당 뷰 반환 |
---
### 4. 503 오류 및 리다이렉트 이슈 해결
#### 4.1 원인
- `jongryangje.local` 호스트가 `allowedHostnames`에 없어 URL 생성/리다이렉트 시 문제 발생 가능
#### 4.2 조치 내용
| 파일 | 변경 내용 |
|------|-----------|
| `app/Config/App.php` | `allowedHostnames``jongryangje.local`, `localhost` 추가 |
| `app/Controllers/Auth.php` | `redirect()->to('/')``redirect()->to(site_url('/'))` |
---
### 5. UI/UX 개선 (참조 이미지 반영)
일일봉투 수불현황 기준 이미지에 맞춰 UI 수정
#### 5.1 로고 변경
| 구분 | 변경 전 | 변경 후 |
|------|---------|---------|
| 형태 | 녹색 원형 + 새로고침 아이콘 | 파란색 사각형 + 흰색 사각형 2개 겹친 형태 |
| 스타일 | 웹 스타일 | 데스크톱 앱 아이콘 스타일 |
#### 5.2 타이틀 변경
| 구분 | 변경 전 | 변경 후 |
|------|---------|---------|
| 시스템명 | 스마트 폐기물 관리 시스템 | 쓰레기봉투 물류시스템 |
#### 5.3 페이지 제목 바
| 항목 | 변경 내용 |
|------|-----------|
| 화면 ID | `[_gm804r]``[w_gm804r]` |
| 제목 | 일별 봉투 수불황 → 일일 봉투 수불 현황 |
#### 5.4 메뉴 구성
| 변경 내용 |
|-----------|
| 발주/입고 관리 → 발주 입고 관리 |
| 통계/분석 관리 → 통계 분석 관리 |
| 봉투 수불 관리 메뉴 추가 |
| 설정 → 창 메뉴로 변경 |
#### 5.5 버튼 및 아이콘
| 버튼 | 변경 전 | 변경 후 |
|------|---------|---------|
| 검색 | 검색 | 조회 |
| 엑셀 | Excel 내보내기 | 엑셀저장 |
| 종료 | 번개 아이콘 | 빨간색 X 아이콘 |
| 우측 상단 | 로그아웃 아이콘 | 빨간색 X 아이콘 |
#### 5.6 테이블
| 항목 | 변경 내용 |
|------|-----------|
| 헤더 | 품목 → 품 목 |
---
## 📁 파일 구조 변경 요약
### 신규 생성
```
app/Views/bag/daily_inventory.php # 일일봉투 수불현황 뷰
```
### 수정된 파일
```
app/Controllers/Auth.php # 로그인 리다이렉트, allowedHostnames 대응
app/Controllers/Home.php # 로그인 후 표시 뷰 변경
app/Config/App.php # allowedHostnames 추가
app/Views/bag/daily_inventory.php # UI 수정 (로고, 메뉴, 버튼 등)
```
---
## 🔧 설정 정보
### 환경 변수 (.env)
```
CI_ENVIRONMENT = development
app.baseURL = 'http://jongryangje.local:8080/'
database.default.hostname = localhost
database.default.database = jongryangje_dev
database.default.username = jongryangje
database.default.password = 'jongryangje_dev'
```
### 라우트 (Routes.php)
| Method | URI | Controller::Method |
|--------|-----|---------------------|
| GET | / | Home::index |
| GET | login | Auth::showLoginForm |
| POST | login | Auth::login |
| GET | logout | Auth::logout |
| GET | register | Auth::showRegisterForm |
| POST | register | Auth::register |
---
## 📊 진행 현황 요약
| 작업 항목 | 진행률 | 비고 |
|-----------|--------|------|
| 로그인/로그아웃 개발 | 100% | 완료 |
| 로그인 후 메인 화면 연동 | 100% | 완료 |
| 일일봉투 수불현황 페이지 | 100% | 완료 |
| 503 오류 해결 | 100% | 완료 |
| UI/UX 개선 (참조 이미지 반영) | 100% | 완료 |
---
## 📌 참고 자료
- 참조 이미지: `docs/종량제 관련 자료/쓰레기봉투 물류시스템_스크린샷/봉투수불관리/일일봉투 수불현황.png`
- 기술 스택: CodeIgniter 4.7.0, PHP 8.2+, Tailwind CSS (CDN)
---
*본 문서는 노션 페이지 업로드용으로 작성되었습니다.*