호봄 프로젝트는 '하고 싶은 개발'을 원없이 하기 위해 시작되었습니다.
호봄 테크 블로그는 우리의 개발 여정을 기록하고 공유하기 위한 서비스 입니다: https://hbtb.vercel.app
HoBom project is named after our initial, has begun to freely do all the development we want regardless of companies' technical limitation.
Hobom Tech Blog is kind of an archive where we can record the content of our wildest dreams: https://hbtb.vercel.app
NodeJs
Express
TypeScript
TypeORM
MySQL
AWS-RDS
AWS-S3
Redis
PM2
- WAS distribution on
CLOUDTYPE
free-tier - DB distribution on
AWS-RDS
free-tier - Image WAS distribution on
Koyeb
free-tier
※ 호봄 프로젝트 확장을 위해 이미지 서버 별도 구축
※ Built a sepearate image server for the sake of HoBom service expansion
Of course, .env
in private.
# Git clone
git clone https://github.com/HoBom-s/hbtb-back-v2.git
# start
npm install
npm run dev
API 파악을 위해 간소화된 Swagger를 제공합니다: HBTB-API-v2
Please check simplified api docs on HBTB-API-v2.
- User basic CRUD, signup, login, logout
- JWT authentication, authorization with authValidateMiddleware (Access token, Refresh token)
- Upload profile image using multer and s3 (with image server).
- Article basic CRUD, search, pagination
- Upload thumbnail using multer and s3 (with image server).
- Relations(Join) with Tags and Users entity using TypeORM.
- 게시글 태그: 키워드 서칭 등에 사용
Articles' tags for keyword searching. - Tag basic CRUD
- 카테고리: 페이지 헤더 및 푸터에 삽입 될 메뉴 카테고리
Menus to be placed on page header and footer. - Category basic CRUD
- auth.middleware : Authorization and authentication based on JWT(Access, Refresh token)
- param.middleware : Request params validation using Joi schema
- body.middleware : Request body validation using Joi schema
- cache.middleware : Caching articles and tags using Redis
- error.middleware : Using customized error middleware
- Using winston, winston-daily-rotate-file, and morgan for logging and tracking issues
- Caching patterns:
Look Aside
+Write Around
(more about this on above TroubleShooting note)