2024/10 39

팀플) 타임리프 폐기, React로 전환.

이걸 진행중에 깨달은게 있는데 우리 웹사이트가 제대로 동적처리가 되려면 리액트를 쓰는게 더욱 유리하다는 것을 알게되어서 구조를 전면 수정할 필요가 생겼다.그래서 이 포스트는 프로젝트 구조 수정이 될 것.우선은 여기에 세개의 js파일을 생성한 리액트로 옮겨줘야함.아! React생성은 글 쓰기전에 프로젝트에 해버려서 이건 넘어가자. 터미널로 진행했다.저기 보이는 starinfo-app이 리액트 루트 디렉토리다.리팩토링 해주었고.이제는 로그인 페이지를 다시 대충 그려보고 구글 로그인이 망가지지 않았는지를 확인해야된다.리액트에서 페이지를 그려주고 버튼을 따로 생성했다.import React from 'react';import { BrowserRouter as Router, Route, Routes } from ..

팀플) 관측 장소(ObservationLocation), 천문 이벤트(AstronomicalEvent) API 구현

1. 관측 장소(ObservationLocation) API 구현엔드포인트 구조:GET /locations: 모든 관측 장소 리스트 가져오기POST /locations: 새로운 관측 장소 추가하기PUT /locations/{id}: 특정 관측 장소 업데이트DELETE /locations/{id}: 특정 관측 장소 삭제하기해야 할 작업:컨트롤러 작성: ObservationLocationController에서 위의 엔드포인트들을 구현해야 함.서비스 작성: ObservationLocationService를 만들어서 비즈니스 로직을 처리하고, 장소 데이터를 가져오거나 추가하는 로직을 구현.리포지토리 작성: ObservationLocationRepository를 사용해서 데이터베이스에서 직접적으로 관측 장소 데이..

팀플 소셜(구글)로그인 구현중. (완료)

개인 프로젝트에서 구현했던 로그인과 회원가입 로직을 죄다 끌어와서 팀프로젝트에서 사용할 수 있게 하나하나 다 수정을 했다. 기존 스포티파이 로직 삭제나, 비번 관련 로직 삭제, 그리고 엔티티가 db와 매칭되게 수정 정도가 할 일이였고 그렇게 크게 오래 걸리지는 않았다. (사실 아직 될지 안될지는 모른다.)그리고 서버를 키니까역시 뭐 한번에 될리가 없지.이 에러는 Hibernate와 MySQL 간의 데이터 타입 매핑 문제로 발생하는 것으로 보이는데, 구체적으로 scale has no meaning for SQL floating point types라는 오류는 DECIMAL 또는 FLOAT 타입을 사용할 때 scale을 지정했을 때 발생할 수 있어. SQL의 FLOAT나 DOUBLE 타입은소수점 이하 자릿수..

팀플 소셜(구글)로그인 구현 시작. (Firebase 프로젝트 생성)

자 이제 구글 로그인 구현을 시작해보자.지금 전반적으로 대강 계획이 잡혀서 시작은 하는데, 팀원들 상태가 메롱이다. 두명은 해외에 있고, 한명은 연락이 안된다..나 혼자 일단 해야한다.서론은 뒤로하고, 나의 개인 프로젝트의 순서 처럼 소셜 로그인 구현부터 시작하려고 한다! 여기서 일단 계획은 port 부터 8080이 아닌 다른 곳으로 돌려야할 것 같다.server.port=7777접속이 잘 되는 것 까지 확인 완료.이제 구현전 준비준비가 필요함.firebase에서 프로젝트 생성.Authentication 설정까지 완료.npm install firebasefirebase 설치하자.이후에 /scr/firebase.js생성.import { initializeApp } from "firebase/app";imp..

팀플 프로젝트에 DB 추가.

내 개인프로젝트때 처럼 JPA 사용 예정이다.일단 DB를 프로젝트에 연결하자.프로젝트 단계에서 연결 완료했고,DB파일도 생성 했다.깃도 올리고, develop에도 병합해서 팀원들이 확인할 수 있게 해야된다.develop에 푸쉬했다.확인.깃에서도 정상적으로 받아온 것을 확인했다.이제 pull로 다시 끌어와보자.아 이미 내가 병합한거라 적용안되는구나?암튼 이렇게 DB 추가 완료. 다음으로 뭘 해야될까.. 잘 모르겠다. firebase API부터 연결할까 생각중이다.

팀플 ERD 설계. (추후 변경될 수 있음)

ERD 설명 및 SQL 코드이번 ERD는 천문 현상 관측 서비스를 구축하기 위한 데이터베이스 구조를 설계. 이 시스템은 사용자 데이터를 기반으로 맞춤형 관측 장소와 천문 현상 이벤트를 추천하며, 사용자는 개인 기록을 남길 수 있다.1. User 테이블CREATE TABLE User ( user_id INT AUTO_INCREMENT PRIMARY KEY, -- 고유 사용자 ID name VARCHAR(100) NOT NULL, -- 사용자 이름 email VARCHAR(100) NOT NULL UNIQUE, -- 이메일 (Google 계정) google_id VARCHAR(255) NOT NULL UNIQUE, -- Google 소셜 로그인 ID ..

팀플 깃 전략 (git Organizations)

우선 팀의 책임자가 Organizations을 생성한다.팀원을 초대한 이후, new Organizations을 클릭하면 기존 우리가 사용하던 것 처럼 리포지토리를 만드는 창이 뜨는데 여기서 프로젝트 이름이나 ReadMe같은 선택을 할 수 있다. 여기서 public으로 생성하지 않으면 팀원의 잔디가 심어지지 않는다고 하니, 우리 같이 공부하는 학생들이라면 이 부분 주의해서 생성하길 바란다.또 리포지토리에서 팀원을 다 초대해준다. 팀원의 권한에 따라서 맞는 권한을 부여하면 되는데 우리는 모두가 코딩을 하기 때문에 팀장인 내가 (깃 생성한 본인)이 자동으로 Admin이고 나는 나머지 팀원은 전부 write 권한으로 돌렸다.만약 공동 책임자가 있다거나 하면 Maintain (리포지토리 관리)이나 Admin을 부..

팀플 아이디어 임시 계획 (천체 관측 추천 사이트)

천체 관측 위한 API 목록1. AstronomyAPI (Astronomy Data) (횟수 제한 있음. 초과하면 유로)기능: 달의 위상, 별자리 위치, 행성 위치 등을 실시간으로 제공필요 이유: 특정 시간과 위치에 따른 천문 정보(달의 위상, 별자리)를 사용해 관측 추천 기능을 구현API 링크: AstronomyAPI기능: 관측 가능 시기 추천, 특별 천문 현상 알림2. OpenWeather API (One Call API) (부분 유로 1000회, 기본 기능만 제공.)기능: 현재 날씨와 시간대별 날씨(구름 양, 기온, 습도)를 제공필요 이유: 관측에 적합한 날씨인지 판단하기 위해 실시간 날씨 정보를 제공API 링크: OpenWeather API기능: 관측 장소 추천3. Google Maps API기능..

1차 개인프로젝트 발표. (중간 간담회)

오늘 발표 진행을 했다.나의 발표.솔직히 발표 준비 그렇게 열심히 하지 않았다. 지금 구현중인 파일 업로드와 동시에 DB저장이 제대로 되지 않아서 며칠동안 벨로그 작성하면서 계속 해결중이라 업로드도 더딘 것. 그래서 발표준비에 그렇게 큰 시간을 쓸 시간은 없었다.하지만 의외로 강사님께서는 나에게 칭찬을 해주셨다.칭찬 받은 점.나는 google, spotify, 즉 소셜 로그인을 시큐리티를 통해 OAuth2 인증을 받아서 사용자가 사용할 수 있게 구현을 했다.이에 대한 코딩을 할 때 닥친 문제가 많았고 결국은 어떻게 해결해내어서 소셜로그인이 문제 없이 작동하고, 또 spotify api를 통한 플레이어를 가져오는 것 까지 구현을 해뒀다. (JWT인증을 구현하려다가 시큐리티 선에서 자동으로 처리하는 것을 알..