Keyist-Ecommerce
๐ A simple ecommerce site powered with Spring Boot + Angular 10 + Ngrx + OAuth2
ํ์ผ ํ์๊ธฐ
์ต์ข ๋ฒ์ ๋ค์ด๋ก๋ (.zip)- bug_report.md
- feature_request.md
- maven.yml
- maven-wrapper.jar
- maven-wrapper.properties
- MavenWrapperDownloader.java
- AuthServerOAuth2Config.java
- Encoders.java
- ServerSecurityConfig.java
- SimpleCORSFilter.java
- UserRepository.java
- User.java
- UserDetailsServiceImpl.java
- OauthApplication.java
- application.yml
- OauthApplicationTests.java
- .gitignore
- Dockerfile
- Dockerfile.dev
- mvnw
- mvnw.cmd
- pom.xml
- app.e2e-spec.ts
- app.po.ts
- protractor.conf.js
- tsconfig.json
- address.component.html
- address.component.scss
- address.component.spec.ts
- address.component.ts
- help.component.html
- help.component.scss
- help.component.spec.ts
- help.component.ts
- reset-details.component.html
- reset-details.component.scss
- reset-details.component.spec.ts
- reset-details.component.ts
- reset-password.component.html
- reset-password.component.scss
- reset-password.component.spec.ts
- reset-password.component.ts
- information.component.html
- information.component.scss
- information.component.spec.ts
- information.component.ts
- list-orders.component.html
- list-orders.component.scss
- list-orders.component.spec.ts
- list-orders.component.ts
- account.component.html
- account.component.scss
- account.component.spec.ts
- account.component.ts
- account.module.ts
- account.routes.ts
- forgot-password.component.html
- forgot-password.component.scss
- forgot-password.component.spec.ts
- forgot-password.component.ts
- signin.component.html
- signin.component.scss
- signin.component.spec.ts
- signin.component.ts
- signup.component.html
- signup.component.scss
- signup.component.spec.ts
- signup.component.ts
- auth.module.ts
- auth.routes.ts
- browse.component.html
- browse.component.scss
- browse.component.spec.ts
- browse.component.ts
- browse.module.ts
- browse.routes.ts
- empty-cart.component.html
- empty-cart.component.scss
- empty-cart.component.spec.ts
- empty-cart.component.ts
- interested.component.html
- interested.component.scss
- interested.component.spec.ts
- interested.component.ts
- cart.component.html
- cart.component.scss
- cart.component.spec.ts
- cart.component.ts
- cart.module.ts
- cart.routes.ts
- confirmation.component.html
- confirmation.component.scss
- confirmation.component.spec.ts
- confirmation.component.ts
- payment.component.html
- payment.component.scss
- payment.component.spec.ts
- payment.component.ts
- personal.component.html
- personal.component.scss
- personal.component.spec.ts
- personal.component.ts
- progress-bar.component.html
- progress-bar.component.scss
- progress-bar.component.spec.ts
- progress-bar.component.ts
- shipping.component.html
- shipping.component.scss
- shipping.component.spec.ts
- shipping.component.ts
- success.component.html
- success.component.scss
- success.component.spec.ts
- success.component.ts
- bank-accept.component.html
- bank-accept.component.spec.ts
- bank-accept.component.ts
- terms.component.html
- terms.component.spec.ts
- terms.component.ts
- summary.component.html
- summary.component.scss
- summary.component.spec.ts
- summary.component.ts
- checkout.component.html
- checkout.component.scss
- checkout.component.spec.ts
- checkout.component.ts
- checkout.module.ts
- checkout.routes.ts
- faq.component.html
- faq.component.scss
- faq.component.spec.ts
- faq.component.ts
- faq.module.ts
- faq.routes.ts
- footer.component.html
- footer.component.scss
- footer.component.spec.ts
- footer.component.ts
- footer.module.ts
- g-page-not-found.component.html
- g-page-not-found.component.scss
- g-page-not-found.component.spec.ts
- g-page-not-found.component.ts
- header.component.html
- header.component.scss
- header.component.spec.ts
- header.component.ts
- header.module.ts
- banner.component.html
- banner.component.scss
- banner.component.spec.ts
- banner.component.ts
- image-slider.component.html
- image-slider.component.scss
- image-slider.component.spec.ts
- image-slider.component.ts
- most-selling.component.html
- most-selling.component.scss
- most-selling.component.spec.ts
- most-selling.component.ts
- newly-added.component.html
- newly-added.component.scss
- newly-added.component.spec.ts
- newly-added.component.ts
- home.component.html
- home.component.spec.ts
- home.component.ts
- home.module.ts
- home.routes.ts
- related.component.html
- related.component.scss
- related.component.spec.ts
- related.component.ts
- product-detail.component.html
- product-detail.component.scss
- product-detail.component.spec.ts
- product-detail.component.ts
- product-detail.module.ts
- product-detail.routes.ts
- search.component.html
- search.component.scss
- search.component.spec.ts
- search.component.ts
- search.module.ts
- search.routes.ts
- account.service.spec.ts
- account.service.ts
- auth-guard.service.spec.ts
- auth-guard.service.ts
- cart.service.spec.ts
- cart.service.ts
- checkout-guard.service.spec.ts
- checkout-guard.service.ts
- non-auth-guard.service.ts
- order.service.spec.ts
- order.service.ts
- product.service.spec.ts
- product.service.ts
- token.interceptor.ts
- token.service.spec.ts
- token.service.ts
- auth.actions.ts
- auth.effects.ts
- auth.reducer.ts
- browse.actions.ts
- browse.effects.ts
- browse.reducer.ts
- cart.actions.ts
- cart.effects.ts
- cart.reducer.ts
- order.actions.ts
- order.effects.ts
- order.reducer.ts
- showcase.actions.ts
- showcase.effects.ts
- showcase.reducer.ts
- app.reducers.ts
- model.ts
- email-verification.component.html
- email-verification.component.scss
- email-verification.component.spec.ts
- email-verification.component.ts
- password-forgot-verification.component.html
- password-forgot-verification.component.scss
- password-forgot-verification.component.spec.ts
- password-forgot-verification.component.ts
- verification.module.ts
- verification.routes.ts
- app.component.html
- app.component.scss
- app.component.spec.ts
- app.component.ts
- app.module.ts
- app.routes.ts
- .gitkeep
- delete-icn.svg
- key.png
- left.svg
- right.svg
- local.ts
- model.ts
- environment.prod.ts
- environment.ts
- blank.validator.ts
- password.validator.ts
- date.ts
- colors.scss
- favicon.ico
- index.html
- main.ts
- polyfills.ts
- styles.scss
- test.ts
- .browserslistrc
- .editorconfig
- .gitignore
- .nginx.conf
- angular.json
- Dockerfile
- karma.conf.js
- package-lock.json
- package.json
- tsconfig.app.json
- tsconfig.json
- tsconfig.spec.json
- tslint.json
- maven-wrapper.jar
- maven-wrapper.properties
- MavenWrapperDownloader.java
- ApiController.java
- CartController.java
- CategoryController.java
- ColorController.java
- DiscountController.java
- IndexController.java
- OrderController.java
- ProductController.java
- PublicApiController.java
- PublicUserController.java
- UserController.java
- CachingConfiguration.java
- Encoders.java
- SimpleCORSFilter.java
- SwaggerConfiguration.java
- MailConstants.java
- SecurityConstants.java
- SwaggerConstants.java
- CartResponseConverter.java
- ProductCategoryResponseConverter.java
- ProductColorResponseConverter.java
- OrderResponseConverter.java
- ProductDetailsResponseConverter.java
- ProductResponseConverter.java
- ProductVariantResponseConverter.java
- UserResponseConverter.java
- CartRepository.java
- ColorRepository.java
- DiscountRepository.java
- OrderRepository.java
- PasswordForgotTokenRepository.java
- ProductCategoryRepository.java
- ProductRepository.java
- ProductVariantRepository.java
- UserRepository.java
- VerificationTokenRepository.java
- InvalidArgumentException.java
- ResourceFetchException.java
- ResourceNotFoundException.java
- ApiError.java
- RestExceptionHandler.java
- PasswordForgotListener.java
- RegistrationListener.java
- CartItemDTO.java
- CategoryDTO.java
- ColorDTO.java
- DiscountDTO.java
- OrderDetailDTO.java
- ProductVariantDetailDTO.java
- ProductVariantDTO.java
- Cart.java
- CartItem.java
- Color.java
- Discount.java
- Order.java
- OrderDetail.java
- PasswordForgotToken.java
- Product.java
- ProductCategory.java
- ProductVariant.java
- User.java
- VerificationToken.java
- OnPasswordForgotRequestEvent.java
- OnRegistrationCompleteEvent.java
- AddToCartRequest.java
- ConfirmCartRequest.java
- DecrementCartItemRequest.java
- IncrementCartItemRequest.java
- RemoveFromCartRequest.java
- ApplyDiscountRequest.java
- PostOrderRequest.java
- PasswordForgotConfirmRequest.java
- PasswordForgotRequest.java
- PasswordForgotValidateRequest.java
- PasswordResetRequest.java
- RegisterUserRequest.java
- UpdateUserAddressRequest.java
- UpdateUserRequest.java
- ValidateEmailRequest.java
- CartResponse.java
- ProductCategoryResponse.java
- ProductColorResponse.java
- OrderResponse.java
- ProductDetailsResponse.java
- ProductResponse.java
- ProductVariantResponse.java
- UserResponse.java
- ProductVariantSpecs.java
- CustomAuthoritiesOpaqueTokenIntrospector.java
- SecurityConfiguration.java
- ProductCacheService.java
- ProductCacheServiceImpl.java
- ProductCategoryCacheService.java
- ProductCategoryCacheServiceImpl.java
- ProductColorCacheService.java
- ProductColorCacheServiceImpl.java
- ProductVariantCacheService.java
- ProductVariantCacheServiceImpl.java
- CartService.java
- CartServiceImpl.java
- DiscountService.java
- DiscountServiceImpl.java
- OrderService.java
- OrderServiceImpl.java
- ProductCategoryService.java
- ProductCategoryServiceImpl.java
- ProductColorService.java
- ProductColorServiceImpl.java
- ProductService.java
- ProductServiceImpl.java
- TokenService.java
- TokenServiceImpl.java
- UserService.java
- UserServiceImpl.java
- CustomEmail.java
- CustomEmailValidator.java
- PasswordMatches.java
- PasswordMatchesValidator.java
- BackendApplication.java
- application.yml
- CartControllerTest.java
- CategoryControllerTest.java
- ColorControllerTest.java
- DiscountControllerTest.java
- IndexControllerTest.java
- OrderControllerTest.java
- ProductControllerTest.java
- PublicUserControllerTest.java
- UserControllerTest.java
- CachingConfigurationTest.java
- CartServiceImplTest.java
- DiscountServiceImplTest.java
- OrderServiceImplTest.java
- ProductCategoryServiceImplTest.java
- ProductColorServiceImplTest.java
- ProductServiceImplTest.java
- TokenServiceImplTest.java
- UserServiceImplTest.java
- BackendApplicationTests.java
- .gitignore
- Dockerfile
- Dockerfile.dev
- mvnw
- mvnw.cmd
- pom.xml
- browse.png
- cart.png
- detail.png
- orders.png
- script.sql
- .gitignore
- docker-compose.yml
- LICENSE
- README.md
# ์ค์น ๊ฐ์ด๋
git clone https://github.com/antkaynak/Keyist-Ecommerce
๊นํ๋ธ์์ ํ๋ก์ ํธ ์ฝ๋ ์ ์ฒด๋ฅผ ๋ด ์ปดํจํฐ๋ก ๋ด๋ ค๋ฐ์ต๋๋ค.
cd Keyist-Ecommerce
๋ฐฉ๊ธ ๋ด๋ ค๋ฐ์ ํ๋ก์ ํธ ํด๋ ์์ผ๋ก ์ด๋ํฉ๋๋ค.
2. Docker
์ฌ์ ์ถ์ฒ- Git GitHub์์ ํ๋ก์ ํธ ์ฝ๋๋ฅผ ๋ด๋ ค๋ฐ์ผ๋ ค๋ฉด ํ์ํฉ๋๋ค.
- Docker Desktop ์ปจํ ์ด๋๋ฅผ ๋น๋ํ๊ณ ์คํํ๋ ค๋ฉด ํ์ํฉ๋๋ค. ์ค์น ํ ์คํํด์ ๋ฐฑ๊ทธ๋ผ์ด๋์ ์ผ๋์ธ์.
docker-compose up
compose ์ค์ ํ์ผ์ ์ ์๋ ์๋น์ค๋ค์ ๋์์ผ๋ก ๋ช ๋ น์ ์คํํฉ๋๋ค.
If you want to use development versions of the Dockerfiles, you need to setup docker-compose-yml to build using Dockerfile.dev.
compose ์ค์ ํ์ผ์ ์ ์๋ ์๋น์ค๋ค์ ๋์์ผ๋ก ๋ช ๋ น์ ์คํํฉ๋๋ค.
์ด ๋ ํฌ์ README์ ์ ํ ์ค์ ๋ช ๋ น์ด๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ต๋๋ค.
3. Maven (Java)
๋ณดํต- Git GitHub์์ ํ๋ก์ ํธ ์ฝ๋๋ฅผ ๋ด๋ ค๋ฐ์ผ๋ ค๋ฉด ํ์ํฉ๋๋ค.
- JDK (Java) Java ํ๋ก์ ํธ๋ฅผ ๋น๋/์คํํ๋ ค๋ฉด ํ์ํฉ๋๋ค.
- Maven mvn ๋ช ๋ น์ด๋ฅผ ์ฐ๊ธฐ ์ํ ๋น๋ ๋๊ตฌ์ ๋๋ค.
cd authorization_server
์ด ํ๋ก์ ํธ์ ๊ด๋ จ ํ์ผ์ด ํ์ ํด๋ ์์ ์์ด์, ๋จผ์ ๊ทธ ํด๋๋ก ์ด๋ํฉ๋๋ค.
mvn clean install
Maven์ผ๋ก ์์กด์ฑ ์ค์น์ ๋น๋๋ฅผ ์งํํฉ๋๋ค.
4. Node.js
์ฌ์cd client
์ด ํ๋ก์ ํธ์ ๊ด๋ จ ํ์ผ์ด ํ์ ํด๋ ์์ ์์ด์, ๋จผ์ ๊ทธ ํด๋๋ก ์ด๋ํฉ๋๋ค.
npm install
package.json์ ๋ช ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋ด๋ ค๋ฐ์ ์ค์นํฉ๋๋ค.
npm start
๊ฐ๋ฐ/์คํ ์๋ฒ๋ฅผ ์ผญ๋๋ค.
