본문 바로가기
반응형
SMALL

PROJECT14

week4-1: 화면 재구성과 Product 구성 한동안 못했던 프로젝트를 다시 살리면서 화면을 다시 그려봤다. 좀 더 모바일 특화 느낌으로  메인 화면- 쿠팡의 검색 느낌과 당근마켓의 느낌을 참고했다- 카테고리가 굉장히 중요하다고 생각하여 카테고리를 좀 더 보여주느 느낌을 생각했다- 기존에 악기에 필요한 정보는 다 보여줄 생각이다  유저- 최초 로그인은 무조건 oauth2로 연결한다.- 관심 악기를 설정 하여 추천 알고리즘에서 관심 악기들을 보여줘야한다. 자기 악기 아니면 다들 크게 관심이 없다.- 내 화면에서는 이것저것 관리하고, 또 내 기록을 남길 수 있는 Instagram 느낌을 생각했다.  상점- 알바몬의 알바지도 느낌- 내 근처에서 얼마나 악기점이 근처에 있는지, 그리고 그 악기점이 어떤 걸 파는 지 항목까지 볼 수 있는 화면을 기획했다.- .. 2025. 4. 14.
week3-1: Product Entity와 Domain 설계 상품은 여러가지 상태에 대한 정보가 필요하다. 설명, 특징, 사양 등에 대한 정보는 언제든지 다른 컬럼으로 대체할 수 있으며, 그 외 판매자정보, 매장 정보, 배송 정보 등 필요한 정보들이 많다. 이는 다른 테이블에 존재하는 것들과 KEY 값으로 연결되어있다. 그렇다면 설명, 특징, 사양은 어떻게 구성할 수 있을까?일단 컬럼에 제한을 두게 되면 나중에 여러 특성들이 추가될 때마다 컬럼을 추가해야하는 문제가 생길 가능성이 크다.그래서 생각한 결과는설명이라는 key- value 형태의 JSON 컬럼안에 그대로 저장 할 것이다.다만, 큰 자유도를 주지 않기 위해 형식을 지정할 예정이다. 그리고 너무 일관성이 없으면 안되니까 상품 종류에 따라서 특성에 대한 건 Domain에서 제어를 하는 것이 좋을 것 같다. .. 2025. 3. 10.
week2-2: User JPA Repository 만들기 user table 구조를 만들었다.users 는 id, email, name을 갖고, auth_users는 id, user_id, provider, provider_id, password를 갖는다.provider_id가 있으면 ouath2이고, password가 있으면 email(local) 가입자이다. 그렇게 만들어진 adapter layer의 구조 entity 와 repository는 결국 DB에 접근하기 위한 보조이고,adpater는 실제 구현체가 존재한다. @Transactional override fun saveProvider(user: User, provider: String, providerId: String): User { val userEntity = UserEnt.. 2025. 3. 3.
week2-1: Spring Security 비활성화 및 Swagger 적용, User 테이블 만들기 Spring Security 비활성화//Spring Security 접근 전체 허용 및 로그인UI 비활성화@Configuration@EnableWebSecurityclass SecurityConfig { @Bean fun filterChain(http: HttpSecurity): SecurityFilterChain { http .csrf { it.disable() } .authorizeHttpRequests { authorize -> authorize.anyRequest().permitAll() } .formLogin { it.disable() } .http.. 2025. 2. 24.
week1-1: 요구사항 나열해보기 feat. 도메인 주도 개발 프로젝트를 시작하기에 앞서 만드려는 사이트의 요구사항을 나열하고 아키텍처를 잡아보려고 한다.  1. '악기(상품)'를 '판매'하는 사이트2. '유저'는 '관리자', '판매자', '일반'이 존재3. '유저'는 '판매' '상품'을 '구매'하기 위해 '검색' 함4. '검색'은 상품, 지역, 가격, 상태 등 '검색조건'이 존재5. '상품'을 누르면 상세페이지에서 '구매'가 가능6. '결제'는 '카드결제' 또는 '직접결제' 존재7. '배송' 정보를 선택할 수 있음. '매장'에서 '배송'이 가능하다면 선택할 수 있음8. '판매자'는 '매장'과 '상품'을 등록 할 수 있음.  그리고 ''안에 있는 것을 도메인으로 볼 수 있는지에 대해 GPT한테 물어봤다.도메인을 어떻게 나누느냐는 **업무 모델(비즈니스 로직)**과 .. 2025. 2. 22.
Week 1: 사이드프로젝트를 시작해보자 with AI 사이드프로젝트를 만들어야지라고 결심을 하게 되면서 다시 블로그를 활성화 해보려고 한다. 요즘은 AI가 워낙 잘되어 있어서 AI를 기반으로 먼저 하고싶은 기능들을 짰다. (with Bolt.new) https://glowing-blini-70a343.netlify.app/ Vite + React + TS glowing-blini-70a343.netlify.app(접근이 언제까지 가능할 지는 모른다) React와 Typescript로 프로젝트를 만들었으며 평소 관심있는 악기 판매 사이트를 만들 생각이다.일본의 디지마트를 좀 따라하면서도 핸드폰으로 쉽고 간편하게 올릴 수 있도록 좀 한국적인 느낌과 함께 괜찮은 이름을 정하고 싶은데 어렵당ㅎㅎ  백엔드는 SpringBoot3에 Kotiln을 사용하였다. 코틀린인.. 2025. 2. 21.
반응형
LIST