242 lines
6.6 KiB
Markdown
242 lines
6.6 KiB
Markdown
# 종량제 쓰레기봉투 물류시스템 개발 - 작업내역
|
|
|
|
> 노션 업로드용 상세 작업내역 문서
|
|
> 작성일: 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)
|
|
|
|
---
|
|
|
|
*본 문서는 노션 페이지 업로드용으로 작성되었습니다.*
|