세상에서 가장 편한 이미지 공유 서비스, Ukkikki🍌!
번거로움은 Skip, 촬영만 해도 자동으로 업로딩
사진 정리는 AI가 알아서 척척
추억은 공유해야 제맛. 메모와 피드, 채팅까지.
물론 이 모든 내용은, 쉿! '우리끼리만' 확인!
Front-End | Back-End | Full-Stack | |||
---|---|---|---|---|---|
👑 박병조 (Leader) | 📊 이해진 | 🎥 박지훈 | 💾 최용수 | 🤖 이상수 | 📸 양성규 |
PM 로그인 및 유저 정보 관리 UI/UX Axios 인터셉터 처리 파티 관련 UI/UX 게시판 관련 UI/UX 2차 로그인 UI/UX 카메라 UI/UX 이미지 그룹 앨범 UI/UX |
디자인 총괄 디렉토리 관리 UI/UX 파일 관리 UI/UX 실시간 알람 UI/UX 실시간 채팅 UI/UX 암호화 S3 이미지 조회 |
AI 인물 분류 서버 개발 S3 암호화 로직 구현 S3 파일 업로드 다운로드 API 개발 그룹화 목록 / 상세 API 개발 |
그룹 관리 API 게시판 API 실시간 알람 API 실시간 채팅 API |
디렉토리 관리 API 파일 관리 API ERD 설계 및 구현 OpenAI 연동 |
Oauth2 로그인 회원 관리 API 댓글, 대댓글 UI/UX 댓글, 대댓글 API 댓글 언급 UI/UX 커스텀 메시지 큐 서버 개발 |
분류 | 기능 | 내용 |
---|---|---|
사진업로드 | S3 객체 암호화 | SSE-C 객체 암호화로 사용자 업로드 사진 정보 암호화 |
AI 분류 GPT | OpenAI를 이용하여 사용자가 업로드한 사진을 사물별로 그룹화합니다. | |
인물분류 AI | Face_recognition 라이브러리와 flask 서버를 활용한 인물분류 서버 구현. 사용자가 사진을 업로드 할 때마다 실시간 인물분류 정보 업데이트 | |
사진 다운로드 | 다운로드 프리픽스 | 다운로드시 파일명 프리픽스 지정 |
카메라/사진 | AI분류 그룹화 | OpenAI를 이용하여 사용자가 업로드한 사진을 사물별로 그룹화합니다. |
UI | 사용자는 기존 디바이스에서 사용하던 카메라와 유사한 사용감을 가질수 있다. | |
자동업로드 | 사용자는 본인이 설정한 자동업로드 파티가 있다면 촬영한 사진이 자동으로 해당 파티앨범에 업로드 된다. | |
메모 | 사진 메모 등록, 수정, 삭제 기능을 지원합니다. | |
좋아요 | 사진 좋아요 등록, 취소 기능을 지원합니다. | |
그룹 | 그룹 링크 | 그룹 링크를 이용하여 사용자는 파티에 가입할 수 있습니다. |
자동업로드 그룹 설정 | 사용자는 사용자가 속한 파티들의 목록을 확인할 수 있고, 손쉽게 자동업로드 될 파티를 지정할 수 있다. | |
참여 | 사용자는 본인이 속한 파티에서만 이용할 프로필사진과 이름을 설정할 수 있다. | |
파티 정보 관리 | 호스트 사용자는 본인이 개설한 파티의 썸네일사진과 이름을 변경할 수 있다 | |
암호체크 | 그룹 고유 암호 | |
게스트 모드 | 사진 다운로드를 위한 게스트 모드를 지원합니다. | |
권한 설정 | 권한 부여를 이용한 기능 사용 제어 | |
파티원 차단/추방 | 파티장은 파티원을 차단/추방할 수 있습니다. 차단된 파티원은 다시 파티에 들어올 수 없습니다. |
|
실시간 채팅 | Web Socket을 이용하여 파티원끼리 채팅 대화를 할 수 있습니다. | |
알람 | 바로이동 | 알람을 클릭하면 컨텐츠로 바로 이동할 수 있습니다. |
게시판 | 댓글/대댓글 | 사용자는 게시판에 자신의 댓글을 작성할 수 있습니다. 기존 댓글에 대댓글을 작성할 수 있습니다. |
태그 | 댓글에 태그를 이용하여 원하는 파티원을 호출할 수 있습니다. | |
디렉토리 | 폴더 생성/이동 | 폴더를 만들고 이동하여 사용자가 직접 그룹화를 가능하게 하도록 구현하였습니다. |
사진 복사/이동 | 사진 원본을 이동시키거나 사진을 복사하여 다른 디렉토리에 생성할 수 있습니다. | |
쓰레기통 | 사진/폴더 복구 | 후위 순회 BFS 탐색을 통해서 삭제 폴더 내부의 모든 파일에 대해 전체 경로를 탐색하여 휴지통 table에 전체 경로를 저장하여 어떤 경우에도 완전 복 원이 가능하도록 하였습니다. |
사진/폴더 삭제 | 파일 보관 기간을 2주로 설정하여 해당 기간이 지나면 파일이 삭제 되도록 하였습니다.. | |
멤버 | 소셜 로그인 | 사용자는 카카오톡을 이용하여 서비스에 가입할 수 있습니다. |
간편 비밀번호 | 4자리 숫자로 이루어진 간편비밀번호를 통해 본인이 속한 그룹 키들을 손쉽게 관리할 수 있다. | |
JWT 토큰 | 토큰을 이용한 DB의존성을 제거한 인증방식 | |
SSE KEY 관리 | 대부분의 이미지(카카오톡 프로필을 제외한 모든 이미지)는 S3서버에 암호화된 키를 거쳐 저장되고, 해당 키를 모르면 사진을 볼 수 없다. 해당 키는 상단의 간편비밀번호를 통해 로그인 시에 사용자가 속한 모든 그룹키를 받아온다. | |
보안 | 암호화 | 파티키를 이용하여 파티내 컨텐츠를 암호화하여 저장 합니다. |
- 카카오 로그인 API를 이용하여 로그인.
최초 가입시 간단비밀번호 설정.
이후 로그인 시 카카오 로그인과 간편 비밀번호 입력으로 로그인
로그인 |
- 모바일 기기의 카메라를 통해 촬영시,
디폴트 업로딩 그룹으로 사진이 자동 업로드 됩니다. - 업로딩 그룹은 그룹 목록과 설정에서 변경 가능합니다.
카메라 촬영 | 업로딩 그룹 설정 |
- 그룹 이미지와 그룹명을 입력, 그룹 비밀번호 설정을 완료하여 그룹을 생성합니다.
- 그룹 링크 생성을 통하여 그룹원을 초대할 수 있습니다.
그룹 생성 | 그룹 링크 생성 |
- 파티 링크를 통해 그룹에 참여할 수 있습니다.
- 파티 링크는 4시간 동안만 유지됩니다.
- 그룹 비밀번호를 입력한 후 로그인 참여와 게스트 참여를 선택하여 그룹에 참여할 수 있습니다.
- 게스트 참여의 경우 사진 조회 및 다운로드 외의 접근이 제한됩니다.
파티 비밀번호 입력 | 참여 방식 선택 |
- 그룹의 호스트는 참여 멤버에 대한 관리 권한을 갖습니다.
- 멤버는 뷰어와 에디터로 나눠지며 에디트 승급은 그룹 호스트만 지정 가능합니다.
- 호스트는 멤버를 추방하거나 차단할 수 있습니다.
- 호스트의 권한을 다른 유저에게 위임할 수 있습니다.
권한 설정 | 멤버 추방 | 멤버 차단 | 호스트 위임 |
- 그룹의 호스트는 그룹 이미치 및 그룹 이름을 변경할 수 있습니다.
- 그룹의 호스트는 그룹의 비밀번호를 변경할 수 있습니다.
그룹명, 사진 변경 | 그룹 비밀번호 변경 |
- 유저는 그룹마다 별도의 프로필을 생성할 수 있습니다.
유저 프로필 변경 |
- AI를 통한 20가지 기준 자동 사진 분류 기능을 제공합니다.
- 해당 화면에서 사용자가 좋아요 누른 사진의 모음도 확인할 수 있습니다.
자동 분류 목록 및 상세 |
- 업로드된 사진의 목록을 확인할 수 있습니다.
- 그룹의 사진을 다운로드 할 수 있습니다.
- 사진 다운로드와 좋아요 여부를 확인할 수 있습니다.
- 사진이나 폴더를 휴지통으로 보낼 수 있습니다.
- 폴더 구조의 파일 관리 시스템으로 사진 데이터를 관리할 수 있습니다.
그룹 앨범 | 사진 다운로드 | 사진 다운로드 이력 | 사진 삭제 |
폴더 생성 | 사진 이동 | 사진 복제 | 폴더 삭제 |
- 큰 이미지를 조회할 수 있습니다.
- 사진에 메모를 남길 수 있습니다.
- 사진에 좋아요를 남길 수 있습니다.
사진 상세 조회 | 사진 메모 | 사진 좋아요 |
- 게시글을 생성하고 조회할 수 있습니다.
- 게시글 작성시 디바이스 사진과 그룹앨범 사진을 첨부할 수 있습니다.
피드 | 게시글 작성 |
- 게시글 컨텐츠를 확인할 수 있습니다.
- 댓글을 남길 수 있습니다.
- 댓글에 언급 기능을 통해 특정 대상에게 알람을 보낼 수 있습니다.
게시글 상세 및 댓글 |
- 그룹원 간에 실시간 채팅 기능을 제공합니다.
채팅 |
- 휴지통의 파일은 2주간 보관 후 자동 삭제 처리됩니다.
- 파일 및 폴더을 완전 삭제할 수 있습니다.
- 파일 및 폴더를 복원할 수 있습니다.
완전 삭제 | 복원 |
- 게시글에 댓글 작성시 게시글 작성자에게 알람이 전송됩니다.
- 게시글 댓글에 대댓글 작성시 댓글 작성자에게 알람이 전송됩니다.
- 파티 비밀번호 변경시 모든 파티원에게 알람이 전송됩니다.
- 게시글 댓글에서 언급시 언급 대상에게 알람이 전송됩니다.
- 알람을 클릭하여 알람이 발생한 위치로 바로 이동할 수 있습니다.
알람 수신 / 바로가기 |
- 디폴트 업로드 그룹을 설정할 수 있습니다.
- 홈 화면을 설정할 수 있습니다.
홈 화면 설정 |