- coupang, 마켓컬리와 같은 이커머스 기반 서비스를 개발하는 것이 목표인 프로젝트 입니다.
- 애플리케이션 프로토타입은 카카오 오븐을 사용하였습니다.
- 기능 개발에 더불어, 코드의 재사용성 및 유지보수 효율성 확보하는 것을 목표로 개발을 하고 있습니다.
- CI/CD를 통한 자동화를 구현하여, 협업에 용이한 프로젝트를 구성하였습니다.
- JAVA 11
- SpringBoot
- SpringSecurity
- Maven
- MySQL
- MyBatis
- Redis
스프링 기반 e-commerce 대용량 서버
int -> bigint
로 수정 (pk, fk는 생각보다 빠르게 소진됨.)orderitem
테이블로 이동하는 걸 권장 (현재 테이블 구조로는 하나의 주문에 하나의 상품만 구매할 수 있음. fk만 모아둔 테이블에 주문 프로세스를 담아, 하나의 주문(fk)에 여러 상품(fk)를 담을 수 있는 형태로 진행해야함.)우선은 기본적인 기능을 구현하고, 나중에 보충
깃헙 액션 CI 관련 workflow 추가.
사용자(소비자)가 상품을 고르고 주문 서비스를 이용하기 위해선, 장바구니를 확인하여, 주문을 요청할 수 있는 기능이 필요하다.
시큐리티 설정파일: web.config.security
로 이동
EntryPointUnauthorizedHandler
SimpleAccessDeniedHandler
Role
SimpleAuthentication
SimpleAuthenticationProvider
SimpleAuthenticationToken
SimpleAuthenticationTokenFilter
SimpleToken
SimpleTokenConfigurer
UriBasedVoter
WebSecurityConfigurer
web.security.redis.*
인증관련 dto: web.member.dto
로 이동
AuthenticationRequest
AuthenticationResult
AuthenticationResultDto
JoinRequest
JoinResult
MemberDto
com.project.doubleshop.domain.member.entity.v2.member
count
, status
, statusUpdateTime
, createTime
필드 추가status
(다른 패키지), Authority
, Grade
, Type
필드 삭제login
, afterSuccessLogin
비즈니스 로직 추가member
도메인 삭제MemberInfoMapper
, MemberInfoRepository
, MyBatisMemberInfoRepository
, LogInService
, MemberService
, MemberServiceImpl
삭제MemberController
삭제SHA256EncryptionUtil
은 SHA256 자체가 안정한 인코더는 아니라고 판단하여, Security의 Bcrypt로 교체LoginMemberArgumentResolver
, LoginCheckInterceptor
삭제(이 기능은 추후 securityContext로 대체)LoginRequestDto
, MemberFindRequestDto
, MemberFindResponseDto
, MemberInfoDto
, PasswordChangeRequestDto
삭제memberMapper.xml
삭제x-auth-token
헤더에 토큰 값을 포함하여, 인증서버를 통해 인증 시도.A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.