Giter Site home page Giter Site logo

973_be's Introduction

973_BE

  1. 서비스 소개

최근 사람들의 건강과 자기관리에 관심도가 높아짐에 따라 생활체육 참여도가 높아지는 현상을 발견하였다. 운동의 특성상 영상매체 또는 문서를 통해 배우는 것 보다 직접 사람에게 지도를 받는 것이 훨씬 효과적이다. 하지만 특정 운동을 제외하면 다른 운동을 배우기에는 접근성이 떨어진다. 운동을 가르치는 사람 또한 어딘가에 소속되지 않는다면 학생을 찾기 쉽지 않다. 그에 따라 본 논문에서는 스포츠 레슨 1대1 매칭 플랫폼을 기획하였다. 본 서비스는 운동을 배우고 싶은 사람과 가르치고 싶은 사람의 니즈를 충족하기 위해 두 개의 게시판을 이용하여 가르치고 싶은사람의 게시판, 배우고 싶은 사람의 게시판을 만들었다. 각 게시판에서 원하는 지역, 종목등을 충족하는 게시글이 있을 시 채팅기능을 활용하여 1대1로 매칭하여 함꼐 가르치고 배우며 운동할 수 있는 서비스를 제공한다.

  1. 기능 소개

(1) 기술 스택

제안 서비스는 웹 버전과 앱 버전 두 가지로 구현하였다. 서버는 Spring Boot를 사용하였으며 데이터베이스에는 MYSQL이 사용되었다. 이때 서버와 데이터베이스의 상호 작용은 자바 플랫폼 SE와 자바 플랫폼 EE를 사용하는 응용프로그램에서 관계형 데이터베이스의 관리를 표현하는 자바 API인 JPA를 활용하여 구현하였다. 또한 동적 쿼리가 필요한 검색 기능은 정적으로 유형이 지정된 SQL과 유사한 쿼리를 구성할 수 있는 프레임워크인 QUERYDSL을 활용 하였다. 사진을 저장하는 Storage는 Amazon의 S3를 이용했다. 서버의 배포에는 AWS(Amazon Web Service)를 사용했다.

보안을 위해 Spring Security를 통한 Token인증 방식을 채택하였으며, 인증서 발급을 통한 HTTPS 연결 방식을 사용하였다. 클라이언트를 구성하기 위해 Javascript 라이브러리 React를 사용했다. webpack과 babel이 탑재된 cra로 프로젝트를 구성함으로써 번들링 및 크로스 브라우징 이슈 해결했다. 또한 재사용성 높은 디자인 시스템을 위해 CSS module과 Sass를 사용했다. 서버와 안정적인 네트워킹을 위한 axios 라이브러리 사용했다. web socket을 더 효율적으로 사용하기 위해 sockjs-client, stomp 사용했다.

(2) 기능 소개

  • 게시판 기능 본 시스템에서는 운동을 가르치는 사람을 ‘코치’, 배우는 사람을 ‘플레이어’라고 정하여 코치 게시판과 플레이어 게시판이 있다. 게시글은 지역을 중복하여 고를 수 있는 기능과 종목을 고를 수 있는 기능이 있다. 이를 통해 이용자들은 자신이 배우고 싶은 종목과 지역을 선택하여 게시글을 필터링 할 수 있다. 게시글 조회시 사진이 들어간 게시글과 해당 게시글의 작성자와 채팅을 할 수 있는 버튼이 있다. 게시판이 제공하는 기능은 다음과 같다. 게시판 생성, 게시판 조회, 게시판 목록 조회, 제시판 수정, 게시판 삭제가 있다.

  • 검색 기능 키워드와 지역 및 종목 검색하여 플레이어가 원하는 조건에 부합하는 코치를 찾을 수 있다. 코치 또한 자신이 수업 가능한 지역 및 종목이 부합하는 플레이어를 찾을 수 있다 각 지역, 종목, 키워드, 게시판 종류(코치, 플레이어)의 값의 유무를 동적으로 판단하여 QUERY문이 작성된다. 이때 지역이나 종목같은 경우는 값이 없는 경우 뿐만 아니라 중복으로 선택가능 하기 때문에 값이 담긴 LIST를 람다식으로 변환하여 OR문을 처리하였다.

  • 채팅 기능 채팅 기능은 각 게시글을 통해 코치와 플레이어를 1대1로 매칭을 시켜준다. 채팅을 통해 코치와 플레이어가 협의하여 가격 장소등을 정할 수 있다. 채팅 기능은 Spring의 STOMP를 사용했다. STOMP는 클라이언트가 프로토콜을 지원하는 모든 메시지 브로커와 통신할 수 있도록 상호 운용 가능한 유선 형식을 제공한다. 이를 활용해 실시간으로 Session을 관리하고 Message Broker를 통한 구독 기능을 활용해서 사용자들간의 연결을 관리하였다. 채팅기능은 채팅방 생성, 채팅방 조회, 메시지 생성기능, 실시간 메시지 연동기능이 있다.

  • 사용자 기능 본 시스템에서 사용자에게 제공되는 기능들은 로그인, 회원가입, 로그아웃, 내 정보 조회, 내 정보 수정, 내가 작성한 게시판목록 조회, 내 채팅방목록 조회가 있다.

  • 마이페이지 마이페이지 화면의 경우 사용자의 닉네임, 자기소개, 프로필 사진 등을 변경할 수 있으며, 프로필 사진을 클릭하여 외부 저장소 접근 권한을 승인한다. 그렇게 되면 외부 저장소로 이동하여 프로필 사진을 설정할 수 있다. 또한, 사용자 본인이 작성한 게시글을 확인할 수 있다. 프로필 사진 변경시 저장소에 접근할 권한이 없다면 권한을 얻어오는 화면을 띄워준다.

  1. 기대효과 1:1 매칭에 대한 다양한 서비스가 생기고 있지만, 생활체육 분야는 종류가 부족하고, 수수료 문제로 활성화가 되지 않았다. 본 서비스는 다양한 종목, 지역별 필터를 이용한 게시판 기능과 채팅 기능을 이용하여 1:1 매칭 서비스를 제공한다. 앱과 웹 버전을 둘 다 제공 함으로써, 운동을 쉽게 배우고 가르칠 수 있도록 접근성을 높였다. 해당 서비스를 통해 생활체육 분야의 더 높은 국민 참여율 및 활성화를 기대한다. 앱 서비스를 제공 함으로써 사람들의 높은 접근성을 사용의 편의성을 제공하였다. 이로 인해 더 많은 사람들이 서비스를 이용할 것으로 기대한다. 그리고 시간과 공간의 제약없이 사용자들을 연결시켜 줌으로써 서비스의 품질 향상을 기대한다.

973_be's People

Contributors

icezjvl avatar ljg0116 avatar suhengjmg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.