Giter Club home page Giter Club logo

djangocrudboard's Introduction

KPU C&D 프로젝트 - 게시판 백엔드(Django)

All Contributors

GitHub Website

설명

게시판

간단한 포럼 기능을 할 수 있는 게시판 프로젝트의 백엔드 서버 깃허브입니다.
로깅(logging)과 모니터링 기능을 붙이고 CI/CD 파이프라인을 구성하였습니다.
React 프론트엔드 깃허브는 이곳에서 확인 가능합니다.

HTTP API 방식으로 JSON을 결과값으로 출력합니다.

ELKB Stack은 도커 컨테이너에서 Ram 4GB 이상 할당되었을 때 원할하게 실행 가능합니다.
현재 docker-compose.yml상에서는 주석 처리를 해 놓은 상태입니다.
실행을 원하신다면 주석 처리를 해제해주세요.

스터디 자료 velog

로컬 설정 가이드

설치

도커 공식 홈페이지에서 도커를 다운받아 주세요!

실행

docker-compose stop
docker-compose up --build

환경 변수 설정

'Django_secret_key': 시크릿 키, 온라인 등에서 생성 가능

'BOARD_DEBUG': 디버깅 상태인가 나타내는 변수, 프로덕션에서는 설정 X

아키텍처

Architecture

사용 스택

분류 기술
배포환경 AWS Lightsail Ubuntu 20.04 LTS, Docker, Docker-compose
개발 Python, Django
의존성 관리 Pipenv
CI/CD Github Actions, AWS Codedeploy, Shellscrpit
프론트엔드 React.js, Redux
백엔드 Nginx, Gunicorn, Django
데이터베이스 Docker-compose 상의 PostgreSQL
로깅(logging) Elasticsearch, Logstash, Kibana, Filebeat
모니터링 Grafana, Prometheus

데모

demo

팀원


jiho lee

💻

장동현

💻

Wooogy

💻

Geunwoo Park

💻

Lee Ha Neul

💻
이름 학과 역할 소개 페이지
이지호 컴퓨터공학과 백엔드, 도커라이즈, 로깅, 모니터링, CI/CD 개인 프로필로 이동
박근우 메카트로닉스공학과 백엔드, 도커라이즈 개인 프로필로 이동
장동현 메카트로닉스공학과 프론트엔드 개인 프로필로 이동
이하늘 메카트로닉스공학과 프론트엔드 개인 프로필로 이동
한승욱 컴퓨터공학과 백엔드, 도커라이즈, 모니터링 개인 프로필로 이동

데이터베이스 모델링

Database

  • 세부 설명
    게시판은 관리자가 생성, 수정 및 삭제 가능.
    게시판에는 여러 게시글이 속한다.
    게시글에는 여러 댓글이 속한다.
    댓글에는 여러 대댓글이 속한다.
    유저는 여러개의 글을 생성, 수정 및 삭제 가능.
    유저는 여러개의 댓글을 생성, 수정 및 삭제 가능.
    유저는 여러개의 대댓글을 생성, 수정 및 삭제 가능.

API

Postman으로 문서화 하였습니다.

API 링크

PORTS

호스트 공유

80: 디버그 서버 API, 릴리즈 서버는 443 포트로 리다이렉트

443: 릴리즈 서버 API 포트로 사용

5000: grafana

5005: prometheus

5044: logstash

5601: kibana

8080: cadvisor

9200: elasticsearch

컨테이너 전용

5432: postgres

8000: gunicorn 서버

9100: node-exporter

djangocrudboard's People

Contributors

allcontributors[bot] avatar dps0340 avatar gnu-kenny avatar seungwookhan avatar ww8007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

djangocrudboard's Issues

팀원 README 변경

수정 요구사항

표 형태로 이름, 아이디, 프로필 사진과 사진 내부 링크 처리

도커라이즈

백엔드 도커라이즈

  • django, nginx, makemigration, migrate 도커라이즈
  • database 도커라이즈
  • prometheus, grafana, cadvisor, node-exporter 도커라이즈

Git Flow 사용

방침 - 변경 될 수 있음

  • master는 PR로만 커밋될 수 있다. (workflow 수정 제외)
  • 수정은 fix-{수정의도}
  • 기능 추가는 feature-{수정의도}
  • 자기 PR은 자신이 머지할 수 있다.
  • 커밋 메시지는 일단 영어로.. 형식은 자유

api, model 리팩토링

  • queryset에 len함수를 활용해 결과값을 int형 필드를 만들어 넣는다
  • 게시판을 /name으로 get 할 수 있게 수정
  • 게시판에 종속된 게시글에 대해 고유넘버 분리
  • 게시글에 종속된 댓글에 대해 고유넘버 분리
  • 댓글에 종속된 대댓글에 대해 고유넘버 분리

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.