JuyeoungJun / cron-monitoring

for cron-monitoring
0 stars 0 forks source link

멘토링 프로젝트 정기 모임 발표 자료 #36

Closed JuyeoungJun closed 3 years ago

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 8, 2021, 13:13

목차

  1. 프로젝트 소개
  2. 기술 스택
  3. 프로젝트 설계 (아키텍처, ERD, API 명세, ...)
    1. 아키텍처
    2. ERD
    3. API 명세
  4. 프로젝트 컨벤션
    1. 코딩 스타일
    2. 브랜치 전략
    3. 배포 방식
  5. 계획 및 일정 (마일스톤)

프로젝트 소개

크론 모니터링

cron은 유닉스 계열 컴퓨터 운영 체제의 시간 기반 잡 스케줄러이다. 소프트웨어 환경을 설정하고 관리하는 사람들은 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행할 수 있도록 스케줄링하기 위해 cron을 사용한다.

  • 위키백과

매일 새벽 4시 일일 수행 작업 예) 0 0 4 * * * * /home/users/everydayjob

크론 작업을 여러 서버에 접속하지 않고 한개의 화면에서 실행여부, 로그를 확인하고 싶음

필수 기능

로그 관련

인증, 권한 관련

알람 관련

프로젝트 구조

4BFFEC78-1D2C-4846-836F-045053B48099

기술 스택

개발 언어

프레임워크

테스트 툴

Database

빌드 툴

사용 라이브러리

filebeat

Logstash

logstash

Elastic Logs 구조 (참고)

elastic

레이어 & 아키텍처 설계

ttt

Repository Interface Layer

image image

Service Layer

image

권한

사용 시나리오

인증 기능 (모든 사용자)

시작 기능 (모든 사용자)

팀 기능

크론 기능

알림 기능 (모든 사용자)

서비스 관리 기능 (root관리자)

DB선택/ 스키마 설계

DB_ERD

도표 상의 FK는 개념적인 FK입니다.

UUID

Auto Increment

동일한 cron_expression과 server_id 를 가진 cron_job 이 생기는 경우, 각각의 cron_job을 사용자가 식별할 수 있도록 UUID 를 생성하여 기본키로 사용

API 스펙 설계

https://gitlab.gabia.com/mentoring/newbie/2021.05/mentoring-cron/playground/-/blob/develop/swagger.yaml

프로젝트 컨벤션

코딩 스타일

브랜치 전략

image

브랜치 작명 규칙

커밋 메시지 규칙

본문(optional!)

꼬리말(optional!)

    - 타입엔 하단에 정리해둔 메시지 타입 중 하나를 선택하여 입력
    - 제목엔 해당 변경사항을 간략히 정리하여 작성
    - 본문은 선택사항. 제목 외에 추가적으로 정보를 전달하고 싶을 경우 작성.
    - 꼬리말 또한 선택사항이며, 연관된 이슈 ID를 입력

- 메시지 타입

feat : 새로운 기능에 대한 커밋 fix : 버그 수정에 대한 커밋 chore : 그 외 자잘한 수정에 대한 커밋 ci : CI관련 설정 수정에 대한 커밋 docs : 문서 수정에 대한 커밋 style : 코드 스타일 혹은 포맷 등에 관한 커밋 refactor : 코드 리팩토링에 대한 커밋 test : 테스트 코드 수정에 대한 커밋


- 커밋 메시지 예시:

docs: API 문서 수정

2021.05.27 사용자 시나리오 및 DB 설계에 따른 API 상세 스펙 문서화

Resolves: #15 See also: #13, #16



## 배포 방식

- CI/CD 파이프라인

![cicd](https://my-gitlab-bucket.s3.amazonaws.com/388008381/030118126fe1ca8777fde33dce2bc41d.png)

# 계획 및 일정

## 개발 진행 순서

### 설명
- 개발 진행시 3명에서 역할을 분담하기 위해 개발 순서 별로 각 단계를 3-4개로 나눔.

06/09-06/22
- 엔티티 클래스 설계
- 로그 수집 서비스 개발
- 크론 서비스 개발 

06/23-06/30
- 인증 서비스 개발
- 팀 서비스 개발
- 조회 권한 서비스

07/01-07/05
- 웹훅 서비스 개발 
- 알림 서비스 개발
- 관리 권한 서비스

07/05-07/09
- 운영 버그 확인 및 수정

07/10-07/16
- 최종 발표 준비
JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 8, 2021, 13:16

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 8, 2021, 13:27

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 8, 2021, 13:33

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202983 on Jun 8, 2021, 13:56

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202983 on Jun 8, 2021, 14:05

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202983 on Jun 8, 2021, 14:15

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202983 on Jun 8, 2021, 14:15

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 14:57

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202983 on Jun 8, 2021, 14:59

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 15:02

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 15:04

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 15:04

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 15:06

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 15:09

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 15:10

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 15:11

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 16:35

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 16:37

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 16:40

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 17:09

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 17:13

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 17:16

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202983 on Jun 8, 2021, 17:27

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202983 on Jun 8, 2021, 17:28

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 17:44

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 8, 2021, 17:48

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 9, 2021, 08:57

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 9, 2021, 08:59

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 9, 2021, 09:00

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202983 on Jun 9, 2021, 09:04

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 9, 2021, 09:20

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 9, 2021, 09:28

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 9, 2021, 09:29

changed the description