본문으로 건너뛰기
로그인 회원가입

INQUIRY

문의하기

제작·기능 추가·유지보수·장애 진단 등 무엇이든 남겨주세요. 이메일로 답변드리겠습니다.

선택 정보 · 사이트 주소, 기술, 일정, 예산
사용 기술 선택 · 여러 개 선택 가능

otosystem

포트폴리오

누리빛 미술관 문화시설 예약·다국어 안내 대표 이미지

누리빛 미술관 — 문화시설 예약·다국어 안내

방문객의 전시 예약과 다국어 작품 안내, 운영자의 전시·콘텐츠 관리를 연결한 전자정부프레임워크 웹 서비스입니다.

기술 스택
전자정부프레임워크(eGovFrame) 5.0.1 · Java 17 · Spring 6.2 · Spring Security 6.5 · MyBatis · MySQL 8.4 · React 19 · TypeScript · Vite

가상 기관·인물·작품으로 만든 데모입니다. 실제 고객사 수행 사례가 아니며 결제·문자 발송·소셜 로그인·비회원 예약·자동 번역은 제공하지 않습니다. 실제 개인정보는 입력하지 마세요.

데모 사이트 보기
구현 상세 보기접기

제작 목적

방문객의 전시 예약과 다국어 작품 안내, 운영자의 전시·콘텐츠 관리를 연결한 전자정부프레임워크 웹 서비스입니다. 회차별 정원과 예약 상태를 함께 관리하고, 언어별 안내의 편집본과 발행본을 나눠 공개할 자료를 통제하도록 만들었습니다.

핵심 구현

  • 정원 확인과 예약 인원 반영을 조건부 UPDATE로 처리합니다. 중복 요청과 같은 회차의 중복 예약을 막고, 취소한 인원은 한 번만 복구합니다.
  • 작품별 QR 안내에서 한국어·영어와 이미지·음성을 제공합니다. 번역이 없으면 한국어 자료를 보여주며, 버전·파일 체크섬과 열람용 HTML을 ZIP으로 내려받습니다.
  • 언어별 안내를 작성 중·발행·이전 버전으로 구분합니다. 공개 API와 파일 다운로드는 공개 전시에 속한 발행본만 제공하도록 검사합니다.
  • 방문객·운영자·콘텐츠 관리자·최고 관리자 권한을 서버에서 확인합니다. 전시·회차·예약자·공지·배너·변경 이력을 관리하고 업로드 파일의 형식·시그니처·크기를 검사합니다.
단정회계법인 홈페이지·자체 CMS 대표 이미지

단정회계법인 — 홈페이지·자체 CMS

회계법인의 소개·구성원·인사이트를 운영자가 직접 관리하는 Next.js 홈페이지입니다.

기술 스택
Next.js 16 · React 19 · TypeScript · Tailwind CSS 4 · Supabase · PostgreSQL · Drizzle ORM · Tiptap

가상 회계법인·구성원·샘플 콘텐츠로 만든 데모입니다. 실제 고객사 수행 사례가 아니며, 상담 접수·관리자별 승인 단계·버전 복구는 제공하지 않습니다.

데모 사이트 보기
구현 상세 보기접기

제작 목적

회계법인의 소개·구성원·인사이트를 운영자가 직접 관리하는 Next.js 홈페이지입니다. 공개 홈페이지와 관리자 CMS를 하나의 앱으로 구성하고, 편집 중인 내용과 실제 공개 내용을 분리해 발행 전 수정이 홈페이지에 섞이지 않도록 만들었습니다.

핵심 구현

  • 인사이트의 임시저장·발행·비공개 상태를 구분합니다. 발행한 글을 수정하는 동안에도 공개 화면에는 기존 내용을 유지합니다.
  • 글·구성원·연혁·팝업·사이트 설정을 CMS에서 관리하고, 공개 데이터가 바뀌면 관련 캐시를 갱신해 홈페이지에 반영합니다.
  • Supabase Auth 로그인과 활성 관리자 여부를 서버에서 확인합니다. 입력값을 검증하고 본문 HTML의 허용 태그와 속성을 제한합니다.
  • 본문 편집기와 이미지 업로드, 글별 SEO·공유 이미지·사이트맵을 구성했습니다. 임시저장·비공개 글은 공개 목록에서 제외하고 상세 주소도 404로 처리합니다.