Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/f-lab-edu/eattofit

EatToFit: 음식을 운동으로 🍔
https://github.com/f-lab-edu/eattofit

backend healthcare java-21 jpa mysql querydsl spring-ai spring-boot-3

Last synced: 3 days ago
JSON representation

EatToFit: 음식을 운동으로 🍔

Awesome Lists containing this project

README

        





EatToFit: 음식을 운동으로


EatToFit 서비스는 먹은 음식의 칼로리에 해당되는 운동 플랜을 생성해줌으로써 심리적 부담감을 낮춰줄 수 있는 서비스입니다.




🍔 개발 기간


24.08.06 ~ ing





🍔 사용 기술



  • Java 21 (LTS)

  • Spring

    • Spring boot 3.3.2

    • Spring Data JPA 3.3.2

    • Spring AI 1.0.0 M2

    • Spring REST Docs 3.0.1



  • Querydsl 5.1.0

  • Jasypt 3.0.5

  • JJWT 0.12.6

  • Database

    • Redis (Spring Data Redis 3.3.2)

    • MySQL 8.3.0

    • Flyway-MySQL 10.8.1



  • Test

    • H2 2.2.224

    • Mockito 5.11.0

    • RestAssured 5.5.0





🍔 실행 방법



  1. 로컬 MySQL에서 eattofit 데이터베이스를 생성해둡니다. (url을 다르게 하실 거라면 데이터베이스를 다르게 생성하셔도 됩니다.)

  2. jasypt 환경 변수를 관리자에게 전달받습니다.

  3. 인텔리제이의 환경 변수 안에 1번의 값을 ENCRYPT_KEY={VALUE} 형태로 넣습니다.

  4. 서버를 실행한 뒤, 아래 링크를 통해 OAuth 코드를 얻습니다.


  5. OAuth 코드 및 provider를 선택하여 /api/auth/login에 아래처럼 request body를 요청하여 액세스 토큰 및 리프레시 토큰을 획득하고, 해당 토큰을 Bearer 방식으로 보내 다른 API들을 이용합니다.

  6. 
    
    {
    "provider" : "kakao", // kakao | google
    "code": "3번 과정을 거쳐 얻은 OAuth 기관의 코드"
    }



🍔 개발 과정


개인 블로그에 프로젝트 소개 및 기술적 고민 과정을 담았습니다.