맨땅에서 블로그 만들기 #1 요구사항, 기술스택

Jake Seo·2020년 4월 6일
0

블로그만들기

목록 보기
1/5

Prologue

맨땅에서 무언가 만들어보자! 블로그 만들기는 예전부터 계속 하던 프로젝트인데 벌써 2번의 블로그를 만들었다가 맘에 안들어서 갈아 엎은 경험이 있다! 이번에는 예전보다 '낫게' 블로그를 만들어보자.

요구사항 살펴보기

대략적인 요구사항을 살펴보자. 세부적인 요구사항은 만들면서 변해갈 수 있다고 생각한다.

기능적 요구사항은 무엇인가?

먼저 블로그에는 무엇이 필요할지 생각하면서 요구사항을 정리해보자. 그럼 대략적으로 무엇을 구현해야 하는지 알 수 있을 것 같다.

  1. 회원가입 및 로그인
    • 이메일 인증방식? 소셜네트워크 로그인?
  2. 글쓰기
    • 글 쓸때의 에디터 등이 고려사항이 될 수 있을 것 같다. 에디터는 무엇으로?
    1. 좋아요
      • 익명 사용자도 좋아요를 허용할 것인가?
    2. 공유하기
      • 단순 링크 공유? SNS 공유하기 기능 이용해보기?
    3. 태그
      • 글에 태그를 붙일 수 있으면 좋을 것 같다. 그리고 태그로 검색까지?
    4. 검색
      • 블로그에서 글이 검색 된다면 편리할 것이다. 검색은 어디까지?
    5. 카테고리
      • 마구잡이로 섞인 글은 알기 어렵기 때문에 카테고리 설정을 만들어보자.
    6. 인기글
      • 인기있는 글은 따로 모아보자
  3. 댓글
    • 익명 사용자도 댓글을 허용할 것인가?

생각나는 기능적 요구사항은 위와 같다. 아마 구현하며 점점 요구사항은 늘어날 수 있을 것 같다.

기술적 요구사항은 무엇인가?

  1. 빠르고 버그 없는 시스템 구축
  2. 유지보수가 용이한 코드
  3. 배포 자동화
  4. 최소한의 테스트코드 작성
  5. 로그 관리
  6. SEO

기술스택 살펴보기

예전의 나는 딱히 무언가 설계하지 않고 대충 평소쓰던 기술스택(node.js, mysql, react...)으로 블로그를 만들었었다. 물론 어찌됐든 완성을 하고 아웃풋이 나오는게 가장 중요하다고 생각되지만, 이번에는 앞서 2번의 실패경험에서 체득한 사실들을 바탕으로 조금 나은 블로그를 만들어보자.

1인 개발을 할 것이기 때문에 최대한 나에게 익숙한 기술스택으로 개발하는 것이 효율이 좋을 것 같다. 그리고 기술스택 또한 개발하며 여러가지 피드백에 의해 변할 수 있다.

프론트

프론트는 '그나마' 리액트가 가장 자신있어서 리액트를 선택하는 것이 합리적인 것 같다. 그리고 서버사이드 랜더링과 코드 스플리팅 등을 위해 next.js를 이용할 것이다. 그리고 스타일 도구로는 styled-components를 그나마 많이 사용해봤으니 이걸 사용하고, 디자인 도구로는 antd를 사용해보자.

  1. react
  2. next.js
  3. styled-component
  4. antd

백엔드

백엔드는 이번에는 약간 강성있게 가보려고 한다.

  1. node.js
  2. typescript
  3. mysql
  4. sequelize(ORM)
  5. elasticsearch

일단은 이렇게 정하고 추후에 천천히 피드백하며 수정을 해보자! 일단 시작!

profile
풀스택 웹개발자로 일하고 있는 Jake Seo입니다. 주로 Jake Seo라는 닉네임을 많이 씁니다. 프론트엔드: Javascript, React 백엔드: Spring Framework에 관심이 있습니다.

0개의 댓글