Skip to content

singleton-ontherock/OnTheRock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 

Repository files navigation

🏆 삼성 청년 SW 아카데미 11기 공통 우수 프로젝트 🏆

🧗‍♂️ OnTheRock 🧗‍♂️

클라이머들을 위한 SNS 커뮤니티에서 실시간 클라이밍 영상을 공유하고, 클라이머들과 교류해보세요! 🤩

클라이밍 커뮤니티를 통해 클라이머들이 연결되고, 지식과 경험을 공유하며, 새로운 도전과 성장을 함께하는 클라이밍 허브 구축을 목표로 하는 플랫폼입니다 🍀

📌 목차


📄 프로젝트 개요

🗓️ 프로젝트 기간

2024년 7월 8일 - 2024년 8월 16일 (6주)

👩🏻‍💻팀원

김광현 김수빈 이찬민 정해준 임예원 조승기
김광현 Github Github 정해준 Github Github
프론트엔드 팀장 및 발표자,
백엔드
백엔드 백엔드 프론트엔드 백엔드

🚀 프로젝트 핵심 목표

  1. 사용자 경험 향상

    • 개인별 클라이밍 기록 관리 및 분석
    • AI 기반 기술 분석 및 개선 제안
    • 경쟁과 도전 요소를 도입하여 동기 부여
  2. 커뮤니티 활성화

    • 클라이밍 루트와 문제에 대한 데이터베이스 구축
    • 사용자 생성 콘텐츠(리뷰, 실시간 채팅 등)를 통한 소통 강화
  3. 데이터 기반 서비스 개선

    • AI 기반 영상 분석으로 손 동작 및 루트 개선 피드백 제공
    • 키워드 기반 검색을 통해 사용자 맞춤형 정보 제공

💡 차별화된 주요 기능

1. AI 기반 클라이밍 기록 분석

  • 사용자가 업로드한 클라이밍 사진을 AI가 분석하여 잡은 돌과 루트를 시각화.
  • 클라이밍 성과와 개선점을 직관적으로 파악 가능.

2. 실시간 스트리밍 및 채팅

  • 클라이밍 세션을 실시간으로 스트리밍하며 친구나 커뮤니티 멤버들과 공유.
  • 실시간 채팅 기능으로 더욱 생동감 있는 소통 가능.

3. 친구 관리 및 구독 기능

  • 친구 추가 및 관리 기능을 통해 커뮤니티를 형성.
  • 관심 있는 클라이머를 구독하고 최신 콘텐츠를 받아볼 수 있음.

4. 검색 기능

  • 클라이밍장 정보 검색: 매일 매일 업데이트되는 최신 클라이밍장 정보를 제공.
  • 유저, 클라이밍장, 태그 검색: 다양한 키워드 기반 검색으로 맞춤형 결과 제공.

5. 매일 갱신되는 인기 동영상

  • 매일 매일 인기 있는 클라이밍 동영상을 선별 및 제공.
  • 커뮤니티 내에서 트렌드를 쉽게 파악할 수 있음.

6. OAuth 로그인

  • 카카오 및 네이버 OAuth 로그인 지원으로 손쉬운 접근성과 보안 제공.

📊 시장 조사 및 인사이트

문제: 클라이밍 커뮤니티의 부재

  • 클라이밍 기록을 남기거나 정보를 공유할 플랫폼이 부족함.
  • 클라이밍 센터나 루트를 검색하기 위한 데이터베이스가 미흡한 현실.

해결책: 클라이밍 허브

  • 클라이밍 커뮤니티를 강화하며 클라이머 간의 정보 공유와 소통을 활성화.
  • 데이터베이스 및 AI 기술을 활용한 개인화된 서비스 제공.

🏆 우리가 추구하는 가치

  1. 소통: 전 세계 클라이머가 하나의 플랫폼에서 연결.
  2. 도전: 개인 및 팀 차원의 기록 도전과 성취감.
  3. 성장: AI와 데이터를 활용한 기술로 실력 향상.
  4. 안정성: MSA 기반으로 서비스 장애에 유연하게 대응.

🗂️ 프로젝트 구성도

📂 백엔드

backend
├── 🗂️ auth
│   ├── gradle
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── ontherock
│   │   │   │       └── 📂 auth
│   │   │   │           ├── application
│   │   │   │           ├── client
│   │   │   │           ├── common
│   │   │   │           ├── domain
│   │   │   │           │   └── redis
│   │   │   │           ├── dto
│   │   │   │           └── presentation
│   │   └── resources
├── 🗂️ chat
│   ├── gradle
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── ontherock
│   │   │   │       └── 📂 chat
│   │   │   │           ├── application
│   │   │   │           ├── common
│   │   │   │           ├── config
│   │   │   │           ├── domain
│   │   │   │           ├── dto
│   │   │   │           └── presentation
│   │   └── resources
├── 🗂️ contents
│   ├── gradle
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── ontherock
│   │   │   │       └── 📂 contents
│   │   │   │           ├── application
│   │   │   │           ├── batch
│   │   │   │           ├── common
│   │   │   │           ├── config
│   │   │   │           ├── domain
│   │   │   │           ├── dto
│   │   │   │           │   ├── request
│   │   │   │           │   └── response
│   │   │   │           └── presentation
│   │   └── resources
├── 🗂️ gateway
│   ├── gradle
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── ontherock
│   │   │   │       └── 📂 gateway
│   │   │   └── resources
├── 🗂️ message
│   ├── gradle
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── ontherock
│   │   │   │       └── 📂 message
│   │   │   │           ├── application
│   │   │   │           ├── client
│   │   │   │           ├── common
│   │   │   │           ├── domain
│   │   │   │           ├── dto
│   │   │   │           └── presentation
│   │   └── resources
├── 🗂️ sender
│   ├── gradle
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── ontherock
│   │   │   │       └── 📂 sender
│   │   │   │           ├── application
│   │   │   │           ├── common
│   │   │   │           ├── domain
│   │   │   │           ├── dto
│   │   │   │           └── presentation
│   │   └── resources
├── 🗂️ streaming
│   ├── gradle
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── ontherock
│   │   │   │       └── 📂 streaming
│   │   │   │           ├── application
│   │   │   │           ├── common
│   │   │   │           ├── config
│   │   │   │           ├── domain
│   │   │   │           ├── dto
│   │   │   │           │   ├── request
│   │   │   │           │   └── response
│   │   │   │           ├── exception
│   │   │   │           └── presentation
│   │   └── resources
├── 🗂️ user
│   ├── gradle
│   ├── src
│   │   ├── main
│   │   │   ├── java
│   │   │   │   └── ontherock
│   │   │   │       └── 📂 user
│   │   │   │           ├── application
│   │   │   │           ├── client
│   │   │   │           ├── common
│   │   │   │           ├── domain
│   │   │   │           ├── dto
│   │   │   │           └── presentation
│   │   └── resources

📂 프론트엔드

frontend
└── on-the-rock-app
    └── src
        ├── api
        ├── assets
        ├── components
        │   ├── Mobile
        │   ├── OpenVidu
        │   └── Web
        │       ├── Analyze
        │       ├── Feed
        │       ├── Login
        │       ├── MainPage
        │       ├── NavBar
        │       ├── Streaming
        │       ├── Upload
        │       └── UserProfile
        ├── css
        └── store

ERD 및 아키텍처

ERD (SQL) ERD (NoSQL)
Architecture #1 Architecture #2

주요 화면

홈 화면 알림 화면 스트리밍 화면 영상 분석 화면
네이버 로그인과 인기 영상 확인 받은 알림 확인 스트리밍 시작 및 종료 클라이밍 영상 분석
업로드 화면 검색창(장소 검색) 검색창(사용자 검색) 마이 페이지
영상 업로드 클라이밍장 검색 사용자 검색 내 정보 페이지

📹 시연 영상 및 자료

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors