Skip to content

catmaker/newworld

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 유저 제작 퀴즈 플레이 게임

우리의 게임은 특별한 재미와 창의성을 선사하는데, 이번에는 유저들이 직접 만든 퀴즈를 풀어보는 것이 핵심 아이디어입니다. 플레이어들이 자신만의 퀴즈를 제작하고, 다른 이들이 그 퀴즈를 즐기며 새로운 지식과 재미를 얻을 수 있는 독특한 경험을 제공합니다.

💡 유저가 주도적으로 참여하고 기여하는 새로운 형태의 퀴즈 플레이 게임으로, 모두가 함께 즐기며 성장할 수 있는 공간을 만들어나갑니다.

바로가기 --> http://minimalmocha-newworld.vercel.app/


구현 기능 버그 트래커 API / Parameter

FrontEnd FrontEnd FrontEnd FrontEnd FrontEnd

Backend Backend

🚀 팀 소개


  • 전병일

    • Backend 개발
    • 보안 담당
    • DB 구성 및 관리
  • 신지수

    • FrontEnd 개발
    • 화면 구성 및 로직 개발
    • 디자인 담당

🛠️ 사용 기술 및 라이브러리


FrontEnd

  • NEXTJS: 성능 최적화와 빠른 페이지 로딩을 위한 선택
  • AXIOS: 간편한 API 통신 관리
  • NEXTAUTH: 안전하고 강력한 로그인 시스템 구현
  • TYPESCRIPT: 타입 시스템 도입으로 안정성 강화
  • SCSS: 스타일 시트 작성을 통한 효율적인 스타일 관리

Backend

  • SPRING BOOT: 안정적이고 확장 가능한 서버 개발
  • MY SQL: 사용자 정보 등 데이터베이스 관리

🎯 목표


  • 클린 코드: 뛰어난 개발자로 성장하기 위해 클린 코드 작성에 주력합니다.
  • 데이터 전달 속도 최적화: 사용자에게 최상의 경험을 제공하기 위해 데이터 전달 속도를 최적화합니다.
  • 최적화: 성능 향상 및 효율성을 위한 최적화 작업을 진행합니다.
  • Component 단위로 작성: 모듈화된 컴포넌트를 통해 유지보수를 용이하게 합니다.
  • TypeScript 사용: 컴파일 과정에서 에러를 사전에 캐치하여 안정성을 확보합니다.
  • Module CSS 로 스타일 파일 분리: 코드의 가독성을 높이고 유지보수를 용이하게 합니다.

구현기능

1. 로그인

  1. NEXT-AUTH를 활용한 강력한 자체 로그인 시스템 구축:
    • NEXT-AUTH를 도입하여 안전하고 신뢰성 있는 로그인 기능을 구현했습니다.
    • 사용자 인증 및 권한 부여를 효과적으로 처리하여 플랫폼의 보안성을 최적화했습니다.
  2. SPRING BOOT와의 통합을 통한 로그인 상태 관리:
    • SPRING BOOT와의 연동을 통해 로그인 상태를 세션과 JWT를 조화롭게 사용하여 효과적으로 관리합니다.
    • 플랫폼의 성능과 속도를 향상 시키는 동시에, 사용자 경험을 최적화하는 데 주력했습니다.
  3. 보안 강화를 위한 MySQL DB 사용자 정보 관리:
    • 사용자 정보는 안전하게 MySQL 데이터베이스에 저장되어 보안적인 측면에서 견고한 방어 기능을 제공합니다.
    • 사용자의 민감한 정보를 안전하게 보호하여 데이터 무결성과 기밀성을 보장합니다.
  4. 효율적이고 확장 가능한 인증 시스템 구축:
    • 구현된 자체 로그인 시스템은 효율적이며, 향후 플랫폼의 확장에 용이한 구조로 설계되었습니다.
    • 새로운 기능 및 보안 업데이트를 쉽게 통합할 수 있도록 고려하여 개발했습니다.

2. 퀴즈 게임

  1. API 기능 활용:
    • 퀴즈 데이터는 API를 활용하여 동적으로 가져옵니다.
    • 새로운 퀴즈는 API를 통해 신속하게 생성되어 게임의 다양성을 유지합니다.
  2. 퀴즈 출제 및 응답:
    • 유저는 퀴즈에 대한 질문을 받고, 주관식으로 답합니다.
    • 정답은 API에서 동적으로 가져오며, 유저는 해당 정답을 추측합니다.
  3. 포인트 시스템:
    • 유저가 정답을 맞추면, 게임 시스템은 자동으로 포인트를 부여합니다.
    • 포인트는 유저의 게임 기록을 추적하고, 랭킹 시스템에서 경쟁 요소로 활용됩니다.
  4. 퀴즈 난이도 조절:
    • API를 통해 퀴즈의 다양한 난이도를 동적으로 가져와 게임의 즐거움을 향상시킵니다.
    • 퀴즈를 생성하는 유저가 직접 난이도를 골라 설정 할 수 있습니다.
  5. 다양한 피드백 제공:
    • 정답 여부에 따라 유저에게 적절한 피드백을 제공하여 즐거움을 촉진합니다.
    • 오답 시에는 힌트를 제공하여 유저가 정답을 맞출 수 있게 유도합니다.

3. 커뮤니티 게시판

  1. 다양한 상호작용 기능을 갖춘 글 작성 및 수정/삭제 기능:
    • 사용자들은 커뮤니티 게시판에서 글을 자유롭게 작성할 수 있으며, 작성 후에는 필요에 따라 수정 또는 삭제가 가능합니다.
    • 글의 수정 및 삭제 기능은 사용자가 손쉽게 컨텐츠를 관리하고 플랫폼에 더 나은 기여를 할 수 있도록 합니다.
  2. 좋아요 및 조회수 기능을 통한 글 인기도 추적:
    • 사용자들은 게시된 글에 대해 좋아요를 누르고, 글의 조회수를 확인할 수 있습니다.
    • 이를 통해 플랫폼에서는 어떤 글이 인기가 많고 활발한 상호작용을 받고 있는지를 파악하여 더 많은 사용자들에게 노출시키는 데 기여합니다.
  3. 사용자 간 상호작용 강화를 위한 댓글 작성 기능:
    • 글 아래에는 사용자들이 자유롭게 댓글을 작성할 수 있어, 다양한 의견과 토론을 유도합니다.
    • 이를 통해 커뮤니티는 더욱 활기차게 운영되며, 사용자들 간의 소통과 상호작용이 증진됩니다.
  4. 퀴즈 게시판과의 유기적인 상호작용:
    • 플랫폼은 퀴즈 게시판과의 호환성을 강조하여 사용자들이 다양한 퀴즈 관련 주제에 대한 의문을 커뮤니티에 제시할 수 있습니다.
    • 사용자들은 자신이 이해하지 못하는 퀴즈나 관련된 주제에 대한 질문을 게시함으로써, 전문성 있는 다른 사용자들로부터 도움을 받을 수 있습니다.
    • 이를 통해 퀴즈 게시판은 커뮤니티의 지식 공유와 상호작용을 향상시킵니다.

4. 랭킹

  1. 다양한 차원에서 경쟁과 성취를 측정하는 100등 랭킹 시스템:
    • 플랫폼은 사용자들 간의 경쟁을 표현하기 위해 100등까지의 랭킹 시스템을 구축했습니다.
    • 다양한 요소들을 종합하여 사용자들의 전반적인 성취와 활동을 측정하고 랭킹에 반영하며, 이는 사용자들에게 동기부여를 제공합니다.
  2. 자동 포인트 증가 시스템을 통한 문제 풀이 동기부여:
    • 문제를 해결함으로써 사용자들은 자동적으로 20 포인트를 획득할 수 있습니다.
    • 이는 사용자들에게 문제 해결과 동시에 자신의 점수를 향상시킬 동기를 부여하며, 학습과 성장을 촉진합니다.
  3. 출석 점수 시스템으로 활발한 참여 유도:
    • 매일 출석하는 사용자들에게는 20 포인트의 보너스 점수가 주어집니다.
    • 출석 점수 시스템은 사용자들이 지속적으로 플랫폼에 참여하고 활동하는 데 동기를 부여하며, 커뮤니티의 활발한 상호작용을 유도합니다.
  4. 랭킹 시스템을 통한 경쟁의 증진과 사용자 참여 증가:
    • 랭킹 시스템은 사용자들 간의 친숙하고 건강한 경쟁을 촉진하며, 플랫폼 내의 활동성을 높입니다.
    • 이를 통해 사용자들은 자신의 위치를 파악하고, 다른 사용자들과의 경쟁을 통해 자신을 더 나은 방향으로 발전시키는 동기를 얻습니다.

5. 마이페이지

  1. 비밀번호 및 프로필 관리 기능:

    • 마이페이지에서는 사용자가 비밀번호를 안전하게 변경하고, 프로필 사진을 업로드하거나 수정할 수 있는 기능이 제공됩니다.
    • 사용자는 자신의 계정을 더욱 안전하게 관리하고, 개성 있는 프로필을 표현할 수 있습니다.
  2. 닉네임 수정 기능:

    • 사용자는 마이페이지에서 자유롭게 닉네임을 수정할 수 있습니다.
    • 이를 통해 사용자는 언제든지 자신만의 고유한 닉네임을 설정하거나 변경하여 플랫폼 내에서 개성을 더욱 부각시킬 수 있습니다.
  3. 클리어한 퀴즈 모아보기:

    • 마이페이지는 사용자가 클리어한 퀴즈들을 효과적으로 모아볼 수 있는 기능을 제공합니다.
    • 사용자는 자신의 성취를 확인하고, 이전에 푼 퀴즈 내역을 한눈에 살펴보며 학습 경로를 추적할 수 있습니다.

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 42.6%
  • Java 33.9%
  • SCSS 23.0%
  • Other 0.5%