Skip to content

UserDongHu/Blog_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django Blog Project - Hot🔥Deal Blog

  • 다양한 핫딜 정보를 게시할 수 있는 블로그 입니다.
  • 필요한 물건을 정보 공유를 통해서 저렴한 가격으로 구매할 수 있는 웹사이트 입니다.
  • 카테고리별로 다양한 핫딜 정보를 볼 수 있습니다.
  • 게시글을 통해 바로 쇼핑몰 링크로 이동하여서 구매할 수 있습니다.

1. 목표와 기능

1.1 목표

  • Django를 통해 핫딜 정보를 게시할 수 있는 블로그 개발
  • Accounts(로그인, 회원가입)과 CRUD(생성, 읽기, 업데이트, 삭제) 기능을 CBV로 구현
  • BootStrap을 이용하여 깔끔하게 UI 꾸미기

1.2 기능

  • 평소에 갖고싶던 물건을 게시글 상세보기를 통해서 더 합리적으로 구매할 수 있습니다.
  • 회원가입 후, 로그인을 해서 알고있는 핫딜 정보를 게시글로 올릴 수 있습니다.
  • 게시글에서 추천과 비추천, 댓글을 통해 의견을 나눌 수 있습니다.
  • 내가 쓴 글과 댓글을 단 글, 추천을 한 글들만 모아서 볼 수 있습니다.

2. Stacks

  • Enviroment

    VSC Git GitHub

  • Development

    Python Django HTML BootStrap

  • DataBase

    SQLite

3. 프로젝트/URL 구조 및 플로우 차트

3.1 프로젝트 구조

  • accounts와 blog 두개의 앱으로 구성
  • media, static, templates폴더를 root에 배치
myblog
├── accounts
│   ├── __init__.py
│   ├── __pycache__
│   ├── admin.py
│   ├── apps.py
│   ├── forms.py
│   ├── migrations
│   ├── models.py
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── blog
│   ├── __init__.py
│   ├── __pycache__
│   ├── admin.py
│   ├── apps.py
│   ├── forms.py
│   ├── migrations
│   ├── models.py
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── db.sqlite3
├── manage.py
├── media
│   └── blog
│       ├── files
│       └── thumb_images
├── projectdjango
│   ├── __init__.py
│   ├── __pycache__
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── static
│   ├── assets
│   │   └── favicon.ico
│   ├── css
│   │   └── styles.css
│   ├── index.html
│   └── js
│       └── scripts.js
└── templates
    ├── accounts
    │   ├── form.html
    │   └── profile.html
    └── blog
        ├── addreplyform.html
        ├── editcommentform.html
        ├── menu.html
        ├── post_confirm_delete.html
        ├── post_detail.html
        ├── post_list.html
        └── postform.html

3.2 URL 구조

  • accounts
App URL Views Function HTML File Name Note
accounts '/signup' signup accounts/form.html 회원가입
accounts '/login' login accounts/form.html 로그인
accounts '/logout' logout - 로그아웃
accounts '/profile' profile accounts/profile.html 내 프로필
  • blog
App URL Views Function HTML File Name Note
blog '/blog' post_list blog/post_list.html 모든 게시글 보기
blog '/blog/mypost' mypost_list blog/post_list.html 내가 쓴 게시글 보기
blog '/blog/mycomment' mycomment_list blog/post_list.html 내가 댓글 쓴 게시물 보기
blog '/blog/myhits' myhits_list blog/post_list.html 내가 추천 누른 게시물 보기
blog '/blog/create' create_post blog/post_form.html 게시글 생성
blog '/blog/<int:pk>' post_detail blog/post_detail.html 게시물 상세 보기
blog '/blog/<int:pk>/edit' edit_post blog/post_form.html 게시물 수정
blog '/blog/<int:pk>/delete' delete_post blog/post_confirm_delete.html 게시물 삭제
blog '/blog/comment/create/<int:pk>' create_comment - 댓글 생성
blog '/blog/comment/edit/<int:pk>' edit_comment blog/editcommentform.html 댓글 수정
blog '/blog/reply/create/<int:pk>' create_reply blog/addreplyform.html 대댓글 생성
blog '/blog/hits/post/<int:pk>' hits_post blog/post_detail.html 게시글 추천
blog '/blog/unhits/post/<int:pk>' unhits_post blog/post_detail.html 게시글 비추천
blog '/blog/hits/comment/<int:pk>' hits_comment blog/post_detail.html 댓글 추천
blog '/blog/unhits/comment/<int:pk>' unhits_comment blog/post_detail.html 댓글 비추천

3.3 플로우 차트

  • 메인페이지에서 크게 로그인/회원가입과 게시물보기를 선택할 수 있습니다.
  • 로그인이 된 유저만 게시물쓰기, 추천, 댓글달기 등을 할 수 있습니다.
image

4. WBS

  • 2023.10.26 ~ 2023.11.7
image

5. ERD

  • User, Post, Comment, Category로 4개의 테이블로 구성
  • User과 Post, User과 Comment, Post와 Comment를 1:N 관계로 연결
  • Post와 Category는 N:N 관계로 연결
  • Comment에 parent_comments_id를 이용해서 대댓글을 구현
image

6. UI

  • 메인화면에서 회원가입과 로그인 Signup_Login

  • 게시물 목록 보기
  • 카테고리별로 볼 수 있음
  • 게시물의 추천 5개당 별이 하나씩 늘어남 Post_list

  • 게시물 작성하기
  • 로그인된 유저만 작성할 수 있음 CreatePost

  • 게시물 추천, 비추천 기능과 게시물 수정
  • 로그인된 유저만 추천, 비추천 할 수 있고 본인이 쓴 게시물만 수정 가능 EditPost

  • 게시물 상세보기, 댓글 작성
  • 게시물의 상품명 또는 이미지를 클릭하면 상품 링크로 연결
  • 로그인된 유저만 댓글을 작성할 수 있음 PostDetail+CreateComment

  • 댓글 추천, 비추천 기능과 대댓글 작성
  • 로그인된 유저만 댓글을 추천, 비추천 할 수 있고 대댓글을 작성할 수 있음 HitComment+CreateReply

  • 댓글, 대댓글 수정
  • 내가 쓴 댓글 또는 대댓글만 수정 가능 Edit comment

  • 프로필에서 내가 쓴 게시물, 내가 댓글 쓴 게시물, 내가 추천한 게시물 보기 Profile+mypost+commentpost+hitpost

  • 게시물 리스트에서 검색하기
  • 제목, 내용, 댓글, 작성자 등으로 검색할 수 있음 Search

About

Django와 Bootstrap을 이용해서 구현한 모놀리식 개인 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages