URL 단축기 만들기 - 1. 계획

URL 단축기 2022년 12월 5일

4글자짜리 도메인을 산 김에 URL 단축기를 하나 만들기로 했어요. 아마 완성되면 s.ppap.dev 로 할 것 같네요. 뭐 어쨌든 시작해 보겠습니다.

계획 짜기

들어갈 기능을 한번 정해 봅시다.

  • URL 단축 - 기본 기능
  • 주소 커스텀 기능(관리자 기능)
  • 연합우주 계정으로 인증 진행 - 다루기에 많은 이해도가 필요해보여 디스코드 인증으로 대체합니다
  • Misskey에서의 url 단축을 위한 API

사용할 스택도 정해 봅시다.

이 외에 더 필요한 게 있다면 그때 추가할게요!

API 계획 짜보기

인증 없이 사용 가능한 API

POST /api/urls/

{
  "url": "https://google.com"
}
요청 내용
{
  "id": "lbamrhd7",
  "url": "https://google.com"
}
응답 내용(slug는 타임스탬프를 36진수로 변환)

사용 시 인증이 필요한 API

GET /api/urls?offset=0&limit=30

{
  "items": [
    {
      "id": "lbamrhd7",
      "url": "https://google.com"
    },
    // ...
  ],
  "count": 12345678
}
응답 내용

GET /api/urls/<id>

{
  "id": "lbamrhd7",
  "url": "https://google.com"
}
응답 내용

DELETE /api/urls/<id> - 특정 url을 삭제(관리자가 아니라면 자신이 생성한 링크만 삭제 가능)

이렇게 기본적인 API 계획이 완료? 되었습니당. 아마 다음에 프로젝트 셋업부터 할 것 같아요.

참고로 프로젝트가 중단될 가능성도 있다는것도 알아두셨으면 좋곘어요! (그냥 재밌을거 같아서 해보기로 한거임)

그래도 일단 시작했으니 열심히 끝내볼게요...

태그

파링

바보