기획 >### 배경 > 몇 가지 프로젝트를 진행하며, 그동안 배운 기술을 사용하여 API서버를 사용한 새로운 팀 프로젝트를 진행하고 싶었다. >### 아이디어 >인생을 살아오면서 가장 중요하게 생각하는 것이 "약속"이다. 자신이나 인간관계에서 사람을 긍정적으로 판단
프로젝트를 생성해준다. 여기서 기본적인 dependency와 java버전, gradle 설정 등을 할 수 있다.프로젝트가 만들어 졌다면, build.gradle을 열어 dependency를 설정하자. 우리 프로젝트에서는 문자인증, passwordEncoder, mysq
DB >draw.io를 통해 구성할 테이블을 작성해주었다. MySQL > >cmd을 열고 MySQL에 접속한다. >아래 코드에서 DB이름과 아이디, 비밀번호만 넣어 입력하면, mySQL에 빈 데이터베이스가 생성된다. 이 작업은 데이터베이스를 생성하고, 유저를 만
이제 프로젝트를 만들고, MySql 설정, 연동까지 끝냈으니 본격적인 백엔드 로직을 작성할 차례이다. 하지만 그 전에 앞서, 준비해야 할 것이 있다.먼저는 프로젝트에 필요한 API주소와 method, 기능을 임시로 작성해 보는 것이다.그래서 앞서 만들어 보았던 figm
이전 게시글에서 스프링 코드를 작성하기 위한 기본 폼을 만들어 보았다.이번에는 Response 클래스와 스프링 작성법에 대해 알아보도록 하자.API서버를 만들고, 데이터를 프론트와 주고받기 위해서는 @ResponseBody라는 어노테이션으로 데이터를 body에 담아 보
이제 API 서버를 만드는 데 있어서 중요하다고 생각하는 로직들을 엔티티별로 분류하여 적어보도록 하겠다.먼저, 약속 엔티티에 대해 설명하겠다. 컨트롤러에는 약속을 만드는 로직이 있는데, 프론트에서 약속에 대한 정보를 받아 AppointRepository에 save한다.
이번에는 유저의 프로필 사진을 저장하기 위한 UserFile엔티티 관련 로직을 알아보도록 하자.먼저, 유저의 프로필사진을 저장하기 위한 폴더를 Sekkison 폴더 바로 밑에 만들어 주었다.이후 application.properties 세팅을 해 준다. ( 게시글의 처
Sekkison Project BCryptPasswordEncoder >Sekkison 유저의 비밀번호를 안전하게 저장하기위해 BCryptPasswordEncoder를 사용해서 암호화를 진행하기로 하였다. >>BCryptPasswordEncoder는 Spring
Sekkison Project CORS >이때까지 모든 프로젝트는 하나의 프로젝트 안에 백엔드와 프론트엔드를 같이 넣어서 테스트를 진행했었다. 하지만 이번 프로젝트의 취지는 실제 백엔드와 프론트엔드의 협업이 어떤 방식으로 이루어지는지, 백엔드에서 API를 만들어 Re
프로젝트 주소 https://github.com/kdjdj77/Sekkison_Front >앞서 sekkison프로젝트를 진행하면서 Rest Api 방식으로 데이터를 받을 url 설정을 끝냈다. 앞으로는 프로젝트의 프론트 구성과 그 과정에 대해 보여줄 것이다. >먼
프로젝트 주소 https://github.com/kdjdj77/Sekkison_Front >우리가 진행하는 sekkison 프로젝트는 모바일을 위주로 만드는 프로젝트이다. 그리고 우리 팀은 프론트엔드 개발자가 아니라 백엔드 개발자들만 모여 있기에 모바일 로그인 탬플릿
프로젝트 주소 https://github.com/kdjdj77/Sekkison_Front >이제 회원가입을 만들어 볼 차례이다. 회원가입의 유효성 검사는 백엔드에서도 처리하였지만, 프론트에서도 동일하게 처리하였다. 그리고 unique하게 db에 저장되는 전화번호를 통
로그인과 회원가입 페이지에서는 필요 없었지만, 이제부터 구현할 페이지들에는 네비게이션의 역할과 편의성을 보장해 줄 헤더와 푸터가 필요하다. >기획 단계에서와 같이, 헤더에는 로고, 친구목록, 쪽지함, 알림, 내정보에 해당하는 버튼을 만들 것이고, 푸터에는 홈, 내 약
프로젝트 주소 https://github.com/kdjdj77/Sekkison_Front >로그인과 회원가입, 헤더/푸터가 끝나고 다음으로 할 것은 바로 home 페이지를 만드는 것이다. 모든 사이트들이 각자의 home페이지를 가지고 있으며, 사이트의 얼굴과도 같은
약속을 만들기 위해서는 많은 정보들이 필요하다. 언제, 어디서, 누가, 무엇을 할 것인지에 대한 정보가 말이다. 그리고 우리 프로젝트 기획에 따라 약속을 공개할 것인지, 만나서?온라인으로?, 멤버가 가득 찼는지에 대한 정보도 필요하다. >이러한 정보들을 담아 서버로
앞서서 약속 만들기 페이지를 만들어 보았으니 이제 약속정보를 표시하는 페이지를 만들어 보겠다. >우리 프로젝트의 약속정보 페이지는 다음 이미지와 같다. >물론 멤버가 아니라면 초대하기 버튼이 사라지고, 방장이 아니라면 폭파 버튼이 참가하기/나가기 버튼으로 대체된다.
앞서서 약속을 만들고, 참가하는 페이지들을 만들어 보았고, 이제 자신이 참가한 약속들을 캘린더 형식으로 보여줄 것이다. >이를 위해서, 서버에 연도와 달, 유저id를 보내면 해당 유저가 그 달에 한 약속들을 리턴해주는 컨트롤러와 서비스를 작성하였다. > Control
프론트 페이지의 거의 대부분을 끝냈다. 분량상 중요하지 않다고 생각되는 페이지는 제외하고 진행하여 프론트 구성에 대한 게시글은 이 글이 마지막이 될 것이다. >사이트에 회원이 있다면, 당연히 회원정보를 보거나 수정할 수 있어야 한다. 이번에 해볼 것은 유저의 프로필
백엔드 서버와 프론트 세팅이 다 끝나고 나서, 프론트 프로젝트의 주소를 바꾸기로 하였다. >원래는 사용자아이디.github.io 가 Github Page의 도메인이었지만, sekkison.com으로 바꾸기로 하였다. >먼저, 많은 도메인 구매 사이트 중 가비아에서
스프링 프로젝트로 만든 서버를 배포하기 위해서는 먼저 db를 배포하고, 서버를 배포해야 한다. MySql을 AWS로 배포하기 위해서는 RDS를 통해 새 데이터베이스를 만들어야 한다. 이 게시글에서 설명하는 부분만 설정하고 나머지는 그대로 두면 성공할 수 있을 것이다.
이전 게시글에서 Mysql 데이터베이스, 서버를 배포해 보았다. 이번 게시글에서는 서버를 배포하면서 겪었던 에러들과 그 해결방법에 대해 적어 보겠다. RDS 데이터베이스 관련 에러 >처음 RDS를 통해 Mysql을 동작시킬 때 로컬에서 Mysql Workbench로
이제 진짜 최종장이다. 게시글을 처음부터 따라 온 사람이라면 혹시 우리 프로젝트의 목표가 무엇이었는지 기억 기억할 지 잘 모르겠다. >목표는 바로 어플을 만드는 것이었다. > 백엔드 서버와 프론트 서버를 배포하고, 프론트 주소를 사용해서 WebView App을 만드는