본문 바로가기
Project/축구모임 홈페이지개발

[축구모임 홈페이지개발] 01/06 개발일지 Nodejs

by 한33 2024. 1. 8.

오늘은 공지사항탭 기능을 좀 더 수정해볼 생각이다.

저번 미팅 때 공지사항탭과 일반 사용자들이 이용할 수 있는 자유게시판탭을 분리할 것인지 합칠 것인지를 고민했는데 합치되, 자유게시판 맨 위에 빨간색 강조로 공지가 먼저 띄워지게 구현해보기로 했다.

 

여기서 문제는 이렇게 먼저 위에 띄워지게 하는 기능을 어떻게 구현할 것인지, 또 결국 평생 그 공지사항탭에 글을 유지할 수는 없는데 이를 나중에 어떻게 뺄 것인지. 고민해봐야한다.

 

먼저 지금 생각이 드는 건

기존에 운영관리 탭에서 공지사항 작성하기 버튼을 누르면 공지사항DB, 자유게시판DB 둘 다 동시에 저장하고 공지사항DB의 내용들은 위에 먼저 css로 색을 입혀서 띄우고 아래에는 자유게시판이 띄워지게 해보려고 했다.

근데 이렇게 진행하면 각 DB에 저장될 때 서로 다른 글 id 값으로 저장이 될텐데, 

글로 들어가면 내 코드에서는 서버에서

 

app.get('/notice/notice-detail/:id', this.isLoggedIn, async (req, res, next) => {

 

위와 같이 각각의 id 값으로 글 상세페이지에 접근하기 때문에 사실상 공지사항DB와 자유게시판 DB에 각각 같은 내용이 저장되더라도 사실은 다른 글로 쳐지게 될거라 예상된다.

 

생각을 더 해본 결과 든 생각이 있다.

id 값이 달라서 다른 글로 쳐지더라도, 게시판에 공지가 상단에 띄워지는 용도로만 공지사항DB id 를 사용하고, 링크를 클릭하면 자유게시판DB id 값과 그 댓글들을 불러오게 하면 되나?

그리고 수정,삭제버튼도 같은 방식으로 진행시키는 거다.

수정은 두 DB의 id 값에 접근해 동시에 수정시키고, 삭제 역시 동시에 삭제시키는 것이다.

 

좀 더 간단한 방법을 생각해보았다.

글을 작성할 때 공지작성 권한이 있는 사용자에게만 보이는 체크박스를 하나 '공지ㅁ' 이렇게 만들고, 공지면 자유게시판 상단에 띄워지게 하려했는데 결국은 위랑 같은 말인가..

 

 


 

관리탭이다.  디자인은 아직 기능구현에 집중하느라 관리탭은 구현을 안해놨다.

항상 생각했던거지만, 아무리 그래도 입력할 때 역시 편해야한다. 

생각을 해봤는데 항상 보면 이번주 매치 정보를 적어서 홈화면에 매치일정탭에서 정보가 출력되고, 축구를 하고, 이번 주 MVP 랑 경기결과 입력을 하게된다.

그러면 같은 값이 있다면 굳이 또 입력을 안하게 할 수 있지 않을까 하는 생각이 들었다.

그래서 매치일정에 적은 정보와 아래에 두 영역에서 겹치는 영역은 매치일정에서 입력한 값을 그대로 가져와서 value 속성을 통해 미리 띄워놨다.

그냥 input 태그 자체를 없애버릴까도 생각해봤지만 혹시라도 수정이나 특별한 일이 있을 수도 있으니 예외를 생각해서 냅두고 나머지만 미리 설정해줬다.