Skip to content

Latest commit

 

History

History
240 lines (167 loc) · 9.33 KB

README.md

File metadata and controls

240 lines (167 loc) · 9.33 KB

header

Python Version Django Version DRF Version Channels channels-redis django-allauth dj-rest-auth djangorestframework-simplejwt Requests Redis OpenAI Python Client RIOT API Discord API WebSocket


📖 Navigation

  1. Introduction
  2. Setup
  3. 핵심기능
  4. 적용기술
  5. ERD
  6. Team

👀 Introduction

리그오브레전드 유저 평판 관리 웹앱

🗓 Duration

24.09.30 ~ing


🛠 Setup

To set up and run the project, follow these steps:

  1. Clone the project repository:

    git clone https://github.com/kimwoolina/wp.gg.git
  2. Navigate to the project directory:

    cd /Users/YourPC/Your_Cloned_Folder/
  3. Install the required dependencies:

    pip install -r requirements.txt
  4. Create and configure the config.py file:

    Create a file named config.py in the project root directory and add the following content:

    # config.py
    
    DJANGO_SECRET_KEY = "your_django_secret_key_here"
    RIOT_API_KEY = "your_riot_api_key_here"
    OPENAI_API_KEY = "your_openai_api_key_here"
    DISCORD_CLIENT_ID = 'your_discord_client_id_here'
    DISCORD_SECRET_ID = 'your_discord_secret_id_here'
    DISCORD_OAUTH2_URL = 'your_discord_oauth2_url_here'
  5. Apply database migrations:

    python manage.py makemigrations
    python manage.py migrate
  6. Run the development server:

    python manage.py runserver
  7. Open your browser and visit:

    http://127.0.0.1:8000/


핵심 기능

🛡 OAuth2 소셜로그인 (Riot, Discord)

  • Riot과 Discord를 통한 간편 로그인을 구현 예정입니다. (Riot Client Secret 발급 문제로 라이엇 계정 로그인 관련 기능은 1차 배포 후에 추가 예정.)
  • 앱 당 하나의 계정만 연결 가능합니다.
  • 마이페이지에서 연결된 앱을 확인 할 수 있으며, 연결 해제도 가능합니다.
  • 연동된 라이엇 계정을 통한 라이엇 유저 정보(선호 챔피언, 티어 등)를 불러옵니다.
미리보기
스크린샷 2024-10-08 오전 3 30 16 스크린샷 2024-10-11 오전 12 32 13

👬 AI를 통한 유저 추천 기능

  • LLM을 활용하여 유저들에 대한 리뷰 데이터를 수집합니다.
  • 사용자가 선호하는 특징과 가장 부합하는 평가를 가진 유저와 매칭해줍니다.
  • 유저들이 많이 검색한 항목은 선택 항목에 자동으로 추가됩니다.
미리보기
스크린샷 2024-10-08 오전 3 49 01

💬 WebSocket을 활용한 실시간 채팅

  • 실시간 채팅이 가능합니다.
  • 최근에 대화가 이루어진 순서대로 채팅방이 보여집니다.
  • 채팅 내역이 기록되며 이전에 한 채팅을 볼 수 있습니다.
  • 각 채팅은 채팅방 별로 구분됩니다.
  • 일대일 채팅과 그룹 채팅이 존재합니다.
미리보기
스크린샷 2024-10-08 오전 3 54 58

🔔 실시간 알림

  • 실시간 채팅이 오면 실시간 알림을 제공하며 알림을 클릭하면 해당 채팅방으로 이동합니다.
  • 안읽은 알림 개수 만큼 화면에 표시됩니다.
  • 안읽은 알림이 50개 이상인 경우엔 50+개로 표시됩니다.
  • 안읽은 알림을 클릭하면 읽음 표시됩니다.
  • 모두 읽음 처리 기능 제공합니다.
미리보기
스크린샷 2024-10-08 오전 3 35 45 스크린샷 2024-10-08 오전 3 34 39

📢 신고 기능

  • 유저는 채팅 내용에 부적절한 내용이 있을 경우, 해당 채팅을 신고할 수 있습니다.
  • 금지어를 채팅에서 입력한 유저는 주의 대상으로 분류되어 일정 시간동안 채팅이 AI의 검수를 받고 필터링 되어 출력됩니다.
  • 본인은 본인을 신고할 수 없으며 같은 건의 신고에 대해서는 계정 하나당 1회로 제한됩니다.
  • 신고가 들어오면 관리자가 확인하게 되며, 관리자의 검수 후 패널티 대상으로 분류된 유저는 일정 시간동안 계정 사용이 금지됩니다.
미리보기
스크린샷 2024-10-08 오전 3 55 50 스크린샷 2024-10-08 오전 3 52 31

💸 크레딧 기능

  • 유저는 하루에 5개까지의 유저 상세 리뷰를 크레딧 차감 없이 조회할 수 있습니다.
  • 하루에 6번째 리뷰부터는 한개의 리뷰당 50개의 크레딧이 차감됩니다.
  • 한번 조회한 리뷰는 하루동안 무제한으로 크레딧 차감없이 조회할 수 있습니다.
  • 크레딧 추가 결제가 필요한 경우, 광고를 보면 크레딧을 얻을 수 있게합니다.
미리보기
스크린샷 2024-10-08 오전 4 02 30



🗂 ERD

스크린샷 2024-10-08 오후 12 56 04



👨‍👩‍👧‍👦 Team

Name GitHub Handle Responsibilities
Woolin Kim👑 @kimwoolina 소셜 로그인 연동, 라이엇 API 사용, 유저 추천 기능(LLM 활용), 유저 검색 기능 등
Saeye Lee @saeye 회원, 채팅, 신고 관련 기능 , 비하발언 감지 기능(LLM) 등
Nahee Kim @sptcnl 리뷰, 댓글, 크레딧(결제) 관련 기능 등
Minseong Jeon @Oztalun 파티 관련 기능 (팀 생성, 방장 교체, 팀원 내보내기, 팀 삭제 등)