북마크 애플리케이션을 만들기 위한 요구사항 정리
개인적으로 공부삼아 NestJS로 북마크 애플리케이션을 만들어봤습니다. https://github.com/wapj/jsbackend/tree/main/bookmark-app 해당 북마크 앱을 만들기 위한 요구사항을 정리해봤습니다. 매우 간단한 녀석인데도 뭐가 많네요. 저처럼 공부삼아 만드실 분이 있으실까하여 남겨둡니다. * 북마크 추가 기능: * 사용자는 북마크의 제목(title)과 URL(url)을 입력하여 새로운 북마크를 추가할 수 있어야 합니다. * 북마크 추가 시 짧은 URL(shortUrl)이 자동으로 생성되어야 합니다. * 생성된 짧은 URL은 중복되지 않는 고유한 값이어야 합니다. * 북마크 리스트 조회 기능: * 사용자는 추가된 모든 북마크의 리스트를 조회할 수 있어야 합니다. * 각 북마크 항목에는 제목, URL, 짧은 URL이 표시되어야 합니다. * 제목과 URL은 클릭 가능한 링크로 표시되어야 하며, 해당 링크를 클릭하면 새 탭에서 해당 URL로 이동해야 합니다. * 북마크 상세 조회 기능: * 사용자는 짧은 URL을 통해 해당 북마크의 상세 정보를 조회할 수 있어야 합니다. * 상세 정보에는 제목, URL, 짧은 URL이 표시되어야 합니다. * 북마크 수정 기능: * 사용자는 기존 북마크의 제목과 URL을 수정할 수 있어야 합니다. * 수정된 내용은 즉시 반영되어야 하며, 리스트에서도 업데이트되어 표시되어야 합니다. * 북마크 삭제 기능: * 사용자는 불필요한 북마크를 삭제할 수 있어야 합니다. * 삭제 시 해당 북마크가 리스트에서 즉시 제거되어야 합니다. * 짧은 URL 리다이렉션 기능: * 사용자가 짧은 URL을 브라우저에 입력하면 해당 북마크의 원래 URL로 리다이렉션되어야 합니다. * 리다이렉션 시 HTTP 301 (Permanent Redirect) 상태 코드를 사용하여 영구적인 리다이렉션을 나타내야 합니다. * 사용자 인터페이스: * 사용자 인터페이스는 간단하게 만들면 됩니다. * 북마크 추가, 수정, 삭제 버튼이 표시되어야 합니다. * 북마크 리스트는 페이징이 필요없으며, 각 북마크 항목은 구분되어 보여야 합니다. * 데이터 저장소: * 북마크 데이터는 SQLite 데이터베이스를 사용합니다. * 데이터베이스 스키마는 북마크의 제목, URL, 짧은 URL 등의 필드를 포함해야 합니다. * 백엔드 API: * 백엔드는 NestJS를 사용합니다. * RESTful API 형식으로 북마크 추가, 조회, 수정, 삭제 기능을 제공해야 합니다. * 짧은 URL에 대한 리다이렉션 기능도 백엔드에서 처리되어야 합니다. * 프론트엔드: * 프론트엔드는 HTML, CSS, JavaScript를 사용하면되고, 리액트등의 프론트엔드 기술은 자유롭게 사용가능합니다. * 사용자 인터페이스는 반응형으로 디자인되어 다양한 화면 크기에 적합하게 표시되어야 합니다. * 북마크 추가, 수정, 삭제 등의 기능은 AJAX를 사용하여 백엔드 API와 통신합니다.