![[공부 시간 기록/개발일지] (1) WakaTime을 이용해보자!](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeGJt4%2FbtsNaFHM7nu%2Fkzs0OPuKKnINgAWZyeKz9K%2Fimg.png)

1. 왜 하는가?

나는 취업하기 전에 git에 잔디 남기는게 너무 좋았다. 뭔가 열심히 한거 같달까 근데 취업하고 나서 git이 아닌 bitbucket으로 작업하다 보니 내가 따로 뭔가를 집에서하는게 아니면 남는게 없었다. 그러다가 wakaTime이나 Nau를 알게됐고 이걸 사용해서 기록하고 싶어져서 프로젝트를 기획했다. 이번프로젝트는 기획을 엄청나게 먼저하지 않고 "에자일하게"(사실아님) 상황에 따라 변경되는 게 많을 예정이다.
최종목표는 Nau를 만드는 거다.
Nau나 WakaTime은 내 정보를 2주밖에 저장을 안해준다. 따라서 나는 내가 공부한 내용을 따로 DB에 저장해두고 내가 볼수있는 dashboard를 만들것이며 궁극적으로 git readme에도 잔디처럼 표시해주는 걸 만들 것이다. 화이팅
2. 간단한 설계
아마 프로젝트가 끝나면 많이 변할수도 있다.
일단은 다음과 같다.
🔧 Backend
- Java 21
- Spring boot 3.4.2
- JPA
- Gradle
⭐Front
- React
🦹 DB
- PostgreSql
🧱 Architecture
- DDD (Domain-Driven Design)
📄 API 문서
- Swagger / OpenAPI 3.0
- JavaDoc
🔐 인증/보안
- OAuth2.0 (WakaTime)
- Spring Security (아마도?)
⚙️ 기타
- Dokcer (배포, db 구축 등)
- Junit5 + Mockito (아마도?)
⚔️ Cloud
- GCP (아마도?)
3. 프로젝트기본 구조

vscode에서는 프론트엔드를 cursor 인공지능 ide로 개발할꺼라 있다.
나머지 및 git관리는 인텔리제이에서 진행할 것이다.
- database : DDL 등 DB관련 정보들이 들어간다.
- docker : docker.yml 및 Dorkerfile등이 들어간다.
- time : 프로젝트 backend 디렉토리이다.
- time-front : react가 있다.

민감한 설정 정보들은 모두 back에서 관리할것이며 profile로 dev와 local을 구분할 것이다.
wakatime에는 wakatime 인증관련 정보를 담으려고한다.

react는 잘 몰라서 cursor한테 일을 시키려고 한다. 내가 보기 좋은 방식으로 dashboard를 만들 것이다.
Coding, Software, Computer Science 내가 공부한 것들 잘 이해했는지, 설명할 수 있는지 적는 공간