{"id":25122886,"url":"https://github.com/f-lab-edu/joy-mall","last_synced_at":"2025-04-23T01:11:34.317Z","repository":{"id":226563432,"uuid":"766830326","full_name":"f-lab-edu/joy-mall","owner":"f-lab-edu","description":"온라인 전자 상거래를 기반으로 한 쇼핑 플랫폼","archived":false,"fork":false,"pushed_at":"2024-10-16T04:40:48.000Z","size":319,"stargazers_count":14,"open_issues_count":11,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-29T20:44:05.986Z","etag":null,"topics":["java17","spring-boot","spring-data-jdbc"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/f-lab-edu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-04T07:54:57.000Z","updated_at":"2025-02-03T02:15:31.000Z","dependencies_parsed_at":"2024-03-08T09:28:39.526Z","dependency_job_id":"d8633809-a203-430e-8806-e97a645a3d0c","html_url":"https://github.com/f-lab-edu/joy-mall","commit_stats":null,"previous_names":["f-lab-edu/joy-mall"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f-lab-edu%2Fjoy-mall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f-lab-edu%2Fjoy-mall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f-lab-edu%2Fjoy-mall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f-lab-edu%2Fjoy-mall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/f-lab-edu","download_url":"https://codeload.github.com/f-lab-edu/joy-mall/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250349059,"owners_count":21415914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java17","spring-boot","spring-data-jdbc"],"created_at":"2025-02-08T07:15:33.284Z","updated_at":"2025-04-23T01:11:34.302Z","avatar_url":"https://github.com/f-lab-edu.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛍 ️JoyMall\n\n\n\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg width=\"600\" alt=\"조이몰_로고\" src=\"https://github.com/f-lab-edu/joy-mall/assets/59166263/59a2f76a-6d25-4dfb-ab60-a25aa0441a22\"\u003e\n\u003c/div\u003e\n\n`JoyMall`은 **쇼핑몰이 필요한 물건을 구매하기 위한 수단이 아닌 상품을 한눈에 살펴보고 소통하는 공간을 제공함으로써 즐거움을 주는 것이 이 프로젝트의 취지입니다.**\n\n\u003cbr\u003e\n\n# 📗 프로젝트 아키텍쳐\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg width=\"566\" alt=\"image\" src=\"https://github.com/user-attachments/assets/05088f4b-8dbf-416b-83bb-882919ccbaaf\"\u003e\n\u003c/div\u003e\n\n\n\u003cbr\u003e\n\n# 🎯 프로젝트 목표\n\n**1. `객체지향`의 원리를 적용하여 유지보수와 확장에 용이한 코드 작성**\n- 중복되는 코드, 객체의 역할과 책임을 적절하게 분리하여 응집도를 향상시킨 코드를 작성합니다.\n- SOLID 원칙과 디자인 패턴의 이해를 바탕으로 객체지향 프로그래밍의 장점을 활용합니다.\n\n**2. `스프링`에 대한 깊은 이해와 장점을 활용**\n- IOC/DI, AOP 등의 핵심 원리 및 기능을 통해 코드의 결합도를 낮추고 유지보수성을 향상시킵니다.\n\n**3. `문서화`를 통한 기록 관리**\n- wiki 를 적극 활용하여 프로젝트 설계, 요구사항, 버전 관리를 통해 변화 과정을 추적하고 공유합니다.\n- 백엔드, 프론트, 디자이너, PM 등 에게 공통 관심사를 공유하고 협업하는 공간을 제공합니다. \n\n**4. `애자일` 방법론에 따른 프로젝트 관리**\n- 스프린트 관리, 스크럼, 회고를 통해 변화하는 요구사항에 유연하게 대처하고 지속적인 개선과 목표를 수립합니다.\n\n**5. `테스트 코드`를 통한 품질 향상**\n- 테스트 코드 작성과 지속적인 테스트 자동화를 통해 서비스의 품질과 안정성을 보장하는 데 중점을 둡니다.\n- 대용량 트래픽과 데이터를 처리할 수 있는지 확인하기 위해 성능 테스트 합니다. 로드 테스트, 스트레스 테스트, 속도 테스트 등을 포함하여, 시스템의 처리 용량, 응답 시간, 병목 현상 탐지 등을 평가합니다.\n\n\u003cbr\u003e\n\n# 🧩 사용 기술\n\n- Java 17\n- SpringBoot 3.2.3\n- Spring Data JDBC\n- JUnit5\n- Mockito\n- MySql\n- Redis\n- Naver Cloud Platform\n- VPC\n- Github Action\n- k8s\n- Docker\n- NAS\n- NGrinder\n- Pinpoint\n- Apache Kafka\n\n\u003cbr\u003e\n\n# ✏️️ 프로토타입\n\n\u003cimg width=\"1621\" alt=\"image\" src=\"https://github.com/f-lab-edu/joy-mall/assets/59166263/4b93e749-ea95-4d29-88c1-511dfc4df9f2\"\u003e\n\n\u003cbr\u003e\n\n# 📚 설계\n\n커뮤니케이션 다이어그램, 클래스 다이어그램, ER 다이어그램의 순서로 설계하였습니다.\n- 서비스를 객체와 메세지로 분리하였습니다.\n- 분리한 객체와 메세지를 생각하면서 클래스의 속성과 행위를 정의하였습니다.\n- 클래스의 역할과 책임을 따라 연관관계를 생각하면서 데이터베이스를 설계하였습니다. \n\n\u003cimg width=\"1671\" alt=\"joy-mall-use-case-스샷\" src=\"https://github.com/f-lab-edu/joy-mall/assets/59166263/04eefffd-8aa4-4fb9-a74f-ecff0144d480\"\u003e\n\n---\n\n\u003cimg width=\"1671\" alt=\"joy-mall-class-diagram_3\" src=\"https://github.com/f-lab-edu/joy-mall/assets/59166263/d2eb15b8-dc90-4843-806f-c33b92f1c595\"\u003e\n\n---\n\n\u003cimg width=\"1671\" alt=\"joy-mall-erd\" src=\"https://github.com/f-lab-edu/joy-mall/assets/59166263/3874227c-b112-456f-9e90-8b6f57c13a1c\"\u003e\n\n\u003cbr\u003e\n\n# 🥁 Git 브랜치 전략\n\n프로젝트의 버전 관리 및 협업을 위해 Git-Flow 전략을 채택하였습니다.\n\n\u003cimg width=\"1020\" alt=\"image\" src=\"https://github.com/f-lab-edu/joy-mall/assets/59166263/06ab0ce6-e13d-493d-88b5-bda6da3a1bc5\"\u003e\n\n- **main**: 제품으로 출시될 수 있는 브랜치입니다. 릴리스 이력을 관리하기 위해 사용됩니다.\n- **develop**: 다음 출시 버전을 개발하는 브랜치입니다. 기능 개발 및 버그 수정이 이루어지며, 모든 변경사항은 이 브랜치에 병합됩니다.\n- **feature**: 새로운 기능 개발이나 실험적인 작업을 위한 브랜치입니다. 각 기능 개발이 완료되면 `develop` 브랜치로 병합됩니다.\n- **release**: 이 브랜치는 준비 중인 릴리스의 최종 버그 수정 및 문서 작업 등을 위해 사용됩니다. 준비가 완료되면 `main`과 `develop` 브랜치에 병합됩니다.\n- **hotfix**: 이미 출시된 버전에서 발생한 긴급한 버그를 수정하기 위한 브랜치입니다. 수정이 완료되면 `main`과 `develop` 브랜치에 병합됩니다.\n\n\u003cbr\u003e\n\n\u003e ### JoyMall 의 기록 \n\u003e #### [Sprint](https://github.com/f-lab-edu/joy-mall/projects?query=is%3Aopen) | [Wiki](https://github.com/f-lab-edu/joy-mall/wiki) \u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff-lab-edu%2Fjoy-mall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff-lab-edu%2Fjoy-mall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff-lab-edu%2Fjoy-mall/lists"}