simian114 / bespoke

bespoke blog
http://beta-bespoke.all-in-one.world/
0 stars 0 forks source link

Bespoke

블로그 플랫폼.

배포 주소 및 테스트 계정

목차

개발자 소개 및 인사

안녕하세요 남상혁입니다.

백엔드 개발자로의 시작을 알리는 프로젝트로 Bespoke 프로젝트를 시작하게 되었습니다. 많은 블로그 플랫폼이 존재하지만, 각 플랫폼 마다의 장/단점이 보였습니다.

속도가 느린 플랫폼이 있고, 글 쓰기 권한을 제한하는 플랫폼도 있습니다. 광고 때문에 다시 방문하고 싶지 않은 플랫폼도 있습니다.

따라서 Bespoke 는

그리고 학습의 목적으로는

좋은 서비스 만들기 위해 노력해보겠습니다.

사용된 기술

Type Tech
IDE IntelliJ IDEA
Framework Spring
Backend JPA, Querydsl, Thymeleaf, htmx
Language Java
Database MySQL
Cashing Redis
Message Broker RabbitMQ
Tools GitHub Git Docker
Infra EC2 Route53 Route53

서비스 가이드

Bespoke 에는 3가지 유저가 있습니다. 일반 사용자 / 배너 권한이 부여된 사용자 / 어드민

모든 일반 유저는 본인의 블로그홈 을 갖게 됩니다. 일반 유저는 카테고리를 생성합니다. 이후 생성하는 게시글에 해당 카테고리를 부여합니다. 카테고리가 부여된 게시글은 게시될 수 있습니다. 아래는 유저의 블로그 페이지 url 규칙 및 해당 페이지에서 액션 1. /blog/{nickname}: 유저의 블로그홈 2. /blog/{nickname}/category/{categoryName}: 유저의 카테고리 페이지. 3. /blog/manage/{entity}: 블로그 관리 페이지 1. `/blog/manage/profile`: 프로필을 수정 2. `/blog/manage/posts`: 게시글 관리 / 생성 3. `/blog/manage/categories`: 카테고리 관리 / 생성 4. `/blog/manage/banners`: 배너 관리 / 생성. 배너생성 권한이 있어야함. 없는 경우 해당 페이지에서 요청할 수 있음 일반 사용자
배너 권한이 추가 된 사용자는 배너관리 페이지에 접근 시 테이블 과 배너 생성 버튼을 볼 수 있습니다. 배너는 아래의 과정을 통해 게시할 수 있습니다. 1. 배너를 생성한다. 2. 생성 된 배너를 이용해 날짜를 지정해서 게시 요청을 한다. 3. `어드민` 은 게시요청을 어드민 페이지에서 확인 후 `승인` 또는 `거절` 을 한다. `거절`을 할 땐 사유를 작성한다. 4. 유저는 게시가 승인 된 요청이 있을 시 `결제`를 진행한다. 5. 결제가 완료 되면 `스케줄러`에 의해 게시 날짜에 맞춰 자동으로 배너가 게시됩니다. 배너 권한 추가 된 사용자
/admin 페이지에 접근 할 수 있습니다. User / Post / Banner / Token 을 관리할 수 있습니다. 각 엔터티는 검색 필터와 테이블이 존재합니다. 어드민

Technical Documentation

개발중에 있으므로 계속 변경될 수 있습니다.

ERD

ERD

Architecture

bespoke architecture