코드는 한 줄도 직접 쓰지 않습니다
앞 걸음이 끝나야 다음 걸음으로 갑니다. 순서를 건너뛰지 마세요.
왼쪽 아래 Settings(톱니바퀴) → API 를 누르면 아래 두 가지가 있습니다. 메모장에 복사해 두세요.
관리자 페이지는 아무나 열면 안 됩니다. 로그인한 담당자만 보이게 계정을 만듭니다.
아래 글을 복사해서 Claude나 ChatGPT에 붙여넣으세요. 파란 부분만 아까 메모장에 적어 둔 내 것으로 바꿉니다.
너는 웹 개발을 가르치는 선생님이야. 게시판 글을 관리하는 관리자 페이지를 admin.html 파일 하나로 만들어줘. -- 내 창고 정보 -- Project URL : https://abcdefgh.supabase.co anon public key : eyJhbGciOiJIUzI1NiIs... 테이블 이름 : posts -- 이렇게 만들어줘 -- 1. HTML·CSS·JavaScript를 한 파일에 넣을 것 2. 처음에는 이메일·비밀번호 로그인 화면만 보이게 3. 로그인에 성공해야 글 목록이 보이게 4. 글 목록은 표로 보여주고, 최신 글이 위로 5. 글을 고치거나 지우는 버튼도 넣어줘 6. 엑셀(CSV)로 내려받는 버튼 하나 넣어줘 7. 글씨는 18px 이상, 휴대폰에서도 안 넘치게 8. 설명은 빼고 전체 코드만 줘
같은 화면에 왼쪽에서 오른쪽으로 한 겹씩 쌓아 올린 모습입니다. 낱말에 마우스를 올리면 뜻이 나옵니다.
무엇이 있는지만 정합니다. 제목 한 줄, 적는 칸 두 개, 단추 하나. 꾸미기 전이라 볼품은 없습니다.
똑같은 것에 옷을 입힙니다. 색, 글꼴, 여백, 모서리. 내용은 하나도 바뀌지 않았습니다.
누르면 무슨 일이 벌어질지 정합니다. 오른쪽 단추를 직접 눌러 보세요. 빈칸을 살피고, 창고에 보내고, 결과를 알려 줍니다.
고칠 곳은 둘 중 하나입니다. 화면 쪽이냐, 창고 쪽이냐. 이것만 가려도 AI에게 무엇을 물어야 할지가 정해집니다.
고칠 것은 내가 올린 파일 한 장입니다. HTML·CSS·JavaScript가 들어 있는 그 파일이요. AI에게는 파일을 통째로 주고 “이 부분을 이렇게 바꿔줘”라고 하면 됩니다.
고칠 것은 표와 권한 설정입니다. 파일을 아무리 고쳐도 바뀌지 않습니다. AI에게는 표 이름과 무엇이 안 되는지를 말하고 SQL을 받아 창고에서 실행합니다.
창고 안으로 직접 들어가지 않습니다. 창구에 대고 정해진 말로 부탁하면, 창고가 대신 해 줍니다. 그 창구가 API입니다.
왼쪽 메뉴 SQL Editor → New query 에 아래를 전부 붙여넣고 Run.
-- 글 한 건이 표의 한 줄이 됩니다 create table if not exists posts ( id bigint generated always as identity primary key, title text not null, -- 제목 body text, -- 내용 writer text, -- 쓴 사람 image_url text, -- 사진 주소 (4단원) video_url text, -- 영상 주소 (5단원) color int default 0, -- 포스트잇 색깔 created_at timestamptz default now() ); -- 잠금장치 켜기 alter table posts enable row level security; -- ① 누구나 글을 쓸 수 있게 drop policy if exists "anyone can write" on posts; create policy "anyone can write" on posts for insert to anon with check (true); -- ② 누구나 글을 읽을 수 있게 ← 오늘의 핵심 drop policy if exists "anyone can read" on posts; create policy "anyone can read" on posts for select to anon using (true);
위에서 만든 posts 표를 쓰는 게시판을 board.html 파일 하나로 만들어줘. Project URL : https://abcdefgh.supabase.co anon public key : eyJhbGciOiJIUzI1NiIs... 테이블 이름 : posts CDN 방식 @supabase/supabase-js@2 사용 -- 화면 구성 -- 1. 위쪽에 글 목록, 최신 글이 맨 위로 2. 제목을 누르면 내용이 펼쳐지게 3. 아래에 글쓰기 칸 (제목·내용·쓴 사람) 4. 저장되면 초록 글씨로 안내, 실패하면 빨간 글씨로 "다시 시도해 주세요" 5. 글씨는 18px 이상, 휴대폰에서 가로로 안 넘치게 6. 색은 차분한 남색 계열 설명은 빼고 전체 코드만 줘.
방금 만든 게시판을 아래처럼 고쳐줘. 1. 글쓰기 칸에 "사진 주소" 입력란을 하나 추가하고, 그 값을 posts 표의 image_url 칸에 저장해줘 2. 글 목록에서 image_url 이 있으면 그 사진을 글 내용 위에 보여줘 3. 사진 가로 크기는 화면에 맞춰 줄어들게 해줘 (가로로 넘치면 안 됨) 4. 사진 주소가 비어 있으면 아무것도 안 보이게 해줘 5. 주소가 잘못돼서 사진이 안 열리면 "사진을 불러올 수 없습니다"라고 대신 보여줘 수정된 전체 코드를 처음부터 다시 줘.
게시판을 아래처럼 한 번 더 고쳐줘. 1. 글쓰기 칸에 "유튜브 주소" 입력란을 추가하고, 그 값을 posts 표의 video_url 칸에 저장해줘 2. 어떤 형태로 붙여넣어도 알아서 영상 번호만 뽑아줘 (watch?v= 주소, youtu.be 짧은 주소, embed 주소 전부) 3. 글 목록에서 video_url 이 있으면 그 영상을 게시판 안에서 바로 재생되게 넣어줘 4. 영상 크기는 화면 너비에 맞춰 늘었다 줄었다 하고, 가로세로 비율은 16:9로 유지해줘 5. 주소가 비어 있으면 아무것도 안 보이게 해줘 수정된 전체 코드를 처음부터 다시 줘.
보고 싶은 곳을 누르면 그 장으로 바로 갑니다.