프로젝트
-
Spring Rest Docs 적용하기프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 21. 00:01
개요 프런트엔드와 원활하게 소통하기 위해 API 명세서를 만드려고 합니다. 이때 코드를 기반으로 API 명세서를 만들어주는 Swagger와 Spring RestDocs가 있습니다. 이 둘에 대해 비교해보고 RestDocs를 선택하게 되었습니다. https://junuuu.tistory.com/318 API 문서화를 위한 Swagger와 Spring Rest Docs 비교 Swagger란? API 문서를 자동으로 만들어주는 라이브러리입니다. REST API를 편리하게 문서화해주고, 이를 통해 편리하게 API를 호출해보고 테스트할 수 있는 프로젝트입니다. 이를 활용하여 협업하는 junuuu.tistory.com 컨트롤러에 작성한 MockMvc 단위 테스트로 Spring Rest Docs를 만드는 법을 알아보..
-
Spring Security Oauth2.0 로그인 단위테스트프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 20. 01:17
(1) OAuth2.0이란? (2) Spring Security와 OAuth 2.0으로 로그인 구현하기(SpringBoot + React) (3) Spring Security OAuth 2.0 단위테스트 (4) Spring Security가 OAuth 로그인을 처리하는 방법 개요 이전에 Spring Security를 활용하여 OAuth2.0으로 구글, 네이버, 카카오 로그인을 구현하였습니다. https://junuuu.tistory.com/415?category=1014988 Spring Security와 Oauth 2.0으로 로그인 구현하기 이해하는데 도움이 되는 개념 - Spring Boot - Oauth 2.0 - 인증 인가 - JPA 지식 다음과 같은 내용을 다루고 있습니다. - Spring Se..
-
Spring Security와 Oauth 2.0으로 로그인 구현하기(SpringBoot + React)프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 19. 02:55
(1) OAuth2.0이란? (2) Spring Security와 OAuth 2.0으로 로그인 구현하기(SpringBoot + React) (3) Spring Security OAuth 2.0 단위테스트 (4) Spring Security가 OAuth 로그인을 처리하는 방법 (5) Sign In with Apple REST API 문서 정리 (6) Rest API로 Apple 로그인 구현 이해하는데 도움이 되는 개념들 Spring Boot Oauth 2.0 Flow에 대한 이해 인증/인가에 대한 이해 간단한 JPA 지식 다음과 같은 내용을 다루고 있습니다. 이 방식은 REST API 통신으로는 적절하지 않습니다(HTTP Status 등으로 통신하지 않고 redirect를 통하여 데이터를 주고받습니다) S..
-
ERD 설계하기프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 17. 20:43
회원과 그룹은 N:M 관계입니다.(회원은 여러 그룹을 가질 수 있고 그룹은 여러 회원을 가질 수 있습니다.) (중간 테이블을 활용하여 1:N, M:1로 풀어냈습니다.) 회원과 회원 아이콘은 1:N 관계입니다. (회원은 여러 개의 아이콘을 가질 수 있습니다) 그룹과 그룹아이콘은 1:N 관계입니다. (그룹은 여러 개의 아이콘을 가질 수 있습니다) 그룹과 운동 루틴은 1:N관계입니다. (그룹은 여러 개의 운동 루틴을 가질 수 있습니다) 운동 루틴과 룸은 1 : 1 관계입니다. ( 룸은 하나의 운동 루틴을 가지고 있습니다) 루틴과 루틴 디테일은 1 : N 관계입니다. (루틴은 여러 개의 운동 디테일을 가질 수 있습니다) 그룹과 룸은 1:1 관계입니다. (그룹은 한개의 룸을 가질 수 있습니다) 룸과 룸에 참여자는..
-
프로젝트 생성하기(Spring Boot + MySQL + Spring Data JPA)프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 16. 14:17
1. Spinrg initializr를 통해서 프로젝트를 생성하기. https://start.spring.io/ Proejct : Gradle Project Language : Java Packaging : Jar(REST API server로 만들기 때문에 JSP필요 x) - Spring 문서에서도 JSP를 피하라고 명시 Java : 11 Dependencies : Lombok, Spring Web, Spring Data JPA, MySQL Driver 하단의 GENERATE를 눌러줍니다. 이후 원하는 경로에 압축을 풀어서 폴더의 위치를 기억합니다. (개인적으로 C:\inteliij 폴더 안에 넣었습니다) 2. Intellij를 실행하고 Project Open 2-1 File -> Open 2-2 프로..
-
OAuth2.0 이란?프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 15. 02:16
(1) OAuth2.0이란? (2) Spring Security와 OAuth 2.0으로 로그인 구현하기(SpringBoot + React) (3) Spring Security OAuth 2.0 단위테스트 (4) Spring Security가 OAuth 로그인을 처리하는 방법 알고 있으면 이해하는데 도움이 되는 개념들 - 인증과 인가 - Access Token OAuth 2.0 이란? OAuth란 Open Authorization의 약자로 다양한 플랫폼 환경에서 권한 부여를 위한 산업 표준 프로토콜입니다. 제3의 앱(내가 만든 애플리케이션)이 자원의 소유자인 서비스 이용자를 대신하여 서비스(구글, 네이버, 카카오 등)를 요청할 수 있도록 자원 접근 권한을 위임하는 방법입니다. 즉, 어떤 서비스를 이용할 때..
-
프로젝트 개요프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 12. 17:25
프로젝트에서 다루는 문제 많은 사람들이 하루를 습관처럼 보내고 있으며 이러한 습관을 바꾸기는 어렵습니다. 아무리 강한 의지로 무언가를 계획하고 실천하더라도 그것이 습관이 되기 전에 그만두는 경우가 많습니다. 작심삼일 증후군 실제로 새해 결심을 일주일 채 넘기지 못하는 경우는 27.4%입니다. 또한 새해 결심을 연말까지 1년 동안 지킨 비율은 고작 8%에 불과합니다. 많은 사람들이 새해에 운동을 해야겠다고 결심을 많이 합니다. 한국인의 기대 수명은 평균 83.5세이며 아프지 않고 건강한 상태로 지내는 기간은 이보다 짧은 66.3세입니다. 즉, 17년 동안 우리는 건강의 위험 속에서 지내야 하며 운동의 중요성은 점점 더 높아지고 있습니다. 즉, 사용자에게 작심삼일을 극복하기 위한 흥미와 의지를 부여하고자 합..
-
OpenVidu REST API 공식문서 분석프로젝트/WebRTC 화상통화 프로젝트 2022. 7. 11. 10:53
OpenVidu Server를 배포 후에는 OpenVidu REST API 공식문서를 활용하여 호출할 수 있습니다. 공식문서 링크 공통적인 사항 공통적으로 /openvidu/api 경로를 사용합니다. 동일한 Authorization 헤더를 사용합니다. Authorization 헤더는 사용자 이름과 암호에 Base64 인코딩을 적용해서 제공됩니다. 헤더가 잘못된 경우 모든 API 호출에는 401 상태 코드가 반환됩니다. 다음은 헤더 예시 입니다. Authorization: Basic T1BFTlZJRFVBUFA6TVlfU0VDUkVU Session Object 세션은 사용자가 서로 미디어 스트림을 송수신할 수 있는 회의실입니다. { "id": "ses_YnDaGYNcd7", "object": "sessio..