본문 바로가기
TIL _Today I Learned/2024.08

[DAY 24] Django 웹 애플리케이션 개발

by gamdong2 2024. 8. 13.
[천재교육] 프로젝트 기반 빅데이터 서비스 개발자 양성 과정 9기
학습일 : 2024.08.13

📕 학습 목록

  • 프로젝트 목표 설정
  • 기능 구현 범위 구체화

 

📗 프로젝트 작업 내역

1. 프로젝트 목표

1) 도서 관리 시스템 구축: 사용자가 도서관의 도서 목록을 확인하고, 특정 도서의 상세 정보와 대출 상태를 볼 수 있는 기능을 제공하여, 도서관의 효율적인 도서 관리 및 접근성을 향상시킴

 

2) REST API 제공: 도서 정보와 대출 데이터를 REST API로 제공함으로써, 외부 시스템이나 프론트엔드와의 데이터 연동이 가능한 구조를 구현함

 

3) 권한 기반의 접근 제어: 관리자와 일반 사용자 권한을 구분하여, 특정 기능에 대한 접근을 제한하고 보안을 강화함

 

4) 심플하고 직관적인 UI 구축: 기본적인 CSS 스타일링을 적용하여, 사용자에게 깔끔하고 직관적인 인터페이스를 제공함

 

2. 기능 구현 범위 구체화 

 

1) 도서 및 저자 정보 관리

  • 도서 목록 페이지 구현: 모든 도서 목록을 조회하고, 페이지네이션을 통해 많은 데이터를 관리
  • 도서 상세 페이지: 각 도서의 상세 정보(제목, 저자, 요약, ISBN, 장르)를 확인할 수 있도록 구성
  • 저자 목록 및 상세 페이지: 저자 목록을 표시하고, 각 저자의 생년월일과 사망일 등의 상세 정보를 확인

2) 도서 대출 및 상태 관리

  • 도서 대출 상태 관리: BookInstance 모델을 사용해 각 도서의 상태(대출 가능, 대출 중, 유지보수 중, 예약됨) 관리
  • 고유 대출 인스턴스 관리: UUID로 각 도서를 고유하게 식별하여, 대출 상태와 반납 예정일 정보를 설정
  • 사용자 대출 목록 페이지: 로그인한 사용자가 본인의 대출 중인 도서를 확인할 수 있는 기능을 제공
  • 모든 대출 도서 목록 페이지(관리자 전용): 모든 대출 중인 도서의 목록을 조회할 수 있는 페이지를 제공

3) 검색 및 필터링 기능

  • 키워드 기반 검색: index 페이지에서 키워드 입력을 통해 도서의 목록을 필터링하는 기능을 제공
  • 검색 결과 필터링: 검색어와 일치하는 도서 개수를 ORM을 통해 조회하여 사용자에게 제공

4) 사용자 인증 및 권한 관리

  • 사용자 로그인 및 로그아웃: Django 인증 시스템을 통해 사용자 로그인과 로그아웃 기능을 제공
  • 관리자 권한 설정: 관리자 권한이 필요한 기능(예: 반납 처리)에 접근할 수 있도록 권한을 설정

5) REST API 제공

  • 도서 목록 API: 모든 도서의 정보를 JSON 형식으로 반환하는 API를 구현
  • 도서 인스턴스 API: 특정 도서의 인스턴스 정보를 JSON 형식으로 제공하며, GET 및 POST 요청을 지원

6) UI 및 CSS 스타일링

  • 기본적인 CSS 스타일 적용: 사이드바 및 버튼 스타일을 설정하여 UI를 개선
  • 사용자 편의성 증대: 직관적인 인터페이스로 사용자 경험을 향상시킴


 

📙 내일 일정

  • Django 웹 애플리케이션 개발

 

 

 

'TIL _Today I Learned > 2024.08' 카테고리의 다른 글

[DAY 26] Machine Learning 개론  (1) 2024.08.19
[DAY 25] Django 웹 애플리케이션 개발, 웹 크롤링  (0) 2024.08.14
[DAY 23] Django 웹 애플리케이션 개발  (0) 2024.08.12
[DAY 22] Flask  (0) 2024.08.09
[DAY 21] Flask  (0) 2024.08.08