콘텐츠를 불러오는 중입니다.
파일(MDX) 기반 콘텐츠 관리에 Supabase DB, Google 로그인, 관리자 글쓰기 화면의 첫 번째 뼈대를 연결한 작업
Project와 Log는 전부 .mdx 파일로만 관리했고, DB·로그인·관리자 화면은 없었습니다.
글이 늘어나고 직접 작성해야 할 일이 많아지면서, 매번 코드 에디터로 MDX 파일을 만드는 대신 브라우저에서 로그인해서 글을 쓰고 발행할 수 있는 구조가 필요해졌습니다.
파일 기반 관리를 당장 없애지 않고, 그 위에 Supabase(DB + 로그인)와 관리자 화면을 단계적으로 얹기로 했습니다. 기존 디자인과 공개 URL은 건드리지 않는 것을 원칙으로 삼았습니다.
관리자 권한은 이메일이나 로그인한 사람이 스스로 바꿀 수 있는 값이 아니라, 고정된 계정 식별자로만 판별하도록 설계했습니다. 그렇지 않으면 이론적으로 로그인한 사람이 스스로 "나는 관리자"라고 값을 조작할 여지가 생기기 때문입니다.
로그인은 "이 사람이 누구인지" 확인하는 것이고, 관리자 권한은 "이 사람에게 무엇을 허락할지"를 별도로 확인하는 것입니다. 이 둘을 같은 값으로 섞으면 안 됩니다.
Admin 진입 링크는 로그인 여부만 브라우저에서 확인하도록 만들었습니다. 서버에서 로그인 여부를 확인하면 원래 정적으로 빠르게 열리던 Home 같은 페이지까지 매번 새로 렌더링해야 해서, 방문자 전체의 로딩이 느려질 수 있기 때문입니다.
npm run lintnpm run type-checknpm run format:checknpm run buildsrc/lib/supabase/src/app/login/page.tsxsrc/app/admin/src/proxy.tssupabase/migrations/프로젝트(Project) 글의 관리자 화면, 리치 텍스트 에디터, 이미지 업로드, 기존 MDX 16개를 DB로 옮기는 작업은 아직 진행 전입니다. 그동안 공개 사이트는 지금처럼 계속 MDX 파일을 그대로 보여줍니다.
프로젝트 글 관리 화면을 학습 기록과 같은 방식으로 만들고, 이어서 리치 텍스트 에디터와 카테고리·이미지 관리를 진행합니다.
댓글 0개
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.
로그인 후 학습 기록에 댓글을 남길 수 있습니다.