Skip to content

goorm-dofarming/Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

503 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Dofarming


πŸ‘“ Frontend

λ‚¨μ†Œν¬
(Leader)
μ„œκ·Όμž¬
(FE Leader)
μ„œμ§„μ£Ό
(FE)
Features
- SockJS와 Stompλ₯Ό μ‚¬μš©ν•œ μ±„νŒ… κΈ°λŠ₯
- SSEλ₯Ό μ‚¬μš©ν•œ μ•Œλ¦Ό κΈ°λŠ₯
- 리뷰 κΈ°λŠ₯
- μœ μ €ν”Œλ‘œμš° μž‘μ„±
- λ°œν‘œ 및 λ°œν‘œ 자료 μž‘μ„±
Features
- Frontend 배포 λ‹΄λ‹Ή
- Github Action CI/CD 적용
- OAuth 및 일반 둜그인/νšŒμ›κ°€μž… κΈ°λŠ₯
- 둜그 확인 κΈ°λŠ₯
- μΉ΄μΉ΄μ˜€ν†‘ 곡유 κΈ°λŠ₯
- μœ μ € ν”Œλ‘œμš° μž‘μ„±
Features
- ν…Œλ§ˆ μ„€μ • 및 랜덀 ν•€ κΈ°λŠ₯
- Kakao map APIλ₯Ό μ΄μš©ν•œ μΆ”μ²œ μž₯μ†Œ 쑰회 κΈ°λŠ₯
- μΆ”μ²œ μž₯μ†Œ μ’‹μ•„μš” κΈ°λŠ₯
- 링크 곡유 κΈ°λŠ₯
- ERD 및 API μž‘μ„±
- λ°œν‘œ 자료 μž‘μ„±

πŸ•Ά Backend

μ΄ν˜Έμ„±
(BE Leader)
κΉ€νƒœμš°
(BE)
κΉ€ν˜„νšŒ
(BE)
홍진석
(BE)
Features
- Kafka, STOMPλ₯Ό μ‚¬μš©ν•˜μ—¬ μ±„νŒ… μ„œλ²„ κ΅¬ν˜„
- SSE(Server Sent Event)λ₯Ό μ‚¬μš©ν•˜μ—¬ μ•ˆ 읽은 λ©”μ‹œμ§€ κΈ°λŠ₯ 및 μ•Œλ¦Ό μ„œλ²„ κ΅¬ν˜„
- QueryDsl을 μ‚¬μš©ν•˜μ—¬ μ±„νŒ…λ°©, λ©”μ‹œμ§€, 리뷰, μ’‹μ•„μš” 리슀트 μ •λ ¬ 및 검색 κΈ°λŠ₯ κ΅¬ν˜„
- JWT와 Spring Securityλ₯Ό ν†΅ν•œ νšŒμ› κΈ°λŠ₯ κ΅¬ν˜„
- 전체 μ—”ν‹°ν‹° μž‘μ„± 및 연관관계 μ„€μ •
- 곡톡 κΈ°λŠ₯ 및 κΈ€λ‘œλ²Œ μ—λŸ¬ 처리 μž‘μ„±
- ERD 및 μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜ 섀계
Features
- Postman을 μ‚¬μš©ν•œ Backend ν…ŒμŠ€νŠΈ λ‹΄λ‹Ή
- λ…Έμ…˜ 관리, 회의둝 및 λ¬Έμ„œ μž‘μ„±
Features
- Spring Swaggerλ₯Ό ν†΅ν•œ REST API Docs 제곡
- Git Actionκ³Ό GitHubλ₯Ό μ‚¬μš©ν•˜μ—¬ CI/CD ꡬ좕
- λ°œν‘œ 자료 μž‘μ„±
- μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨ μž‘μ„±
Features
- μΆ”μ²œ μž₯μ†Œμ— λŒ€ν•œ 선별 μ•Œκ³ λ¦¬μ¦˜ κΈ°λŠ₯ κ΅¬ν˜„
- MySQL둜 Tour API λ§ˆμ΄κ·Έλ ˆμ΄μ…˜
- AWS EC2, Git actionκ³Ό
GitHubλ₯Ό μ‚¬μš©ν•˜μ—¬ CI/CD ꡬ좕
- AWS Load Balancerλ₯Ό ν†΅ν•œ HTTPS 적용 및 λ¦¬λ‹€μ΄λ ‰νŠΈ μ„€μ •
- μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜ μž‘μ„±

βš™οΈ Tools

πŸ–₯ Communication

Github Discord Notion Jira
github logo Discord logo Notion logo Jira logo

πŸ–₯ Frontend

NextJS Typescript Styled-components SCSS(SASS) Recoil Axios React Query Stomp MSW SockJS
NextJS Typecript Styled-components SASS Recoil axios ReactQuery Stomp MSW MSW

πŸ–₯ Backend

Spring Java MySQL Spring Security JPA QueryDSL Kafka Gradle H2 SwaggerUI Stomp
Spring Java MySQL Spring Security JPA QueryDSL Kafka Gradle H2 SwaggerUI Stomp

πŸ–₯ Deployment

AWS S3 Github Actions Elastic Load Balancer Route53 CodeDeploy NGINX
AWS s3 Github Actions ElasticLoadBalancer Route53 CodeDeploy NgineX


πŸ“ž API

  • 카카였 둜그인
  • 카카였 지도/둜컬
  • 카카였 λ©”μ‹œμ§€
  • ꡬ글 둜그인
  • 넀이버 둜그인
  • ν•œκ΅­ κ΄€κ΄‘ 곡사 Tour API


🌲Git Branch

main : μ„œλΉ„μŠ€ 운영 브랜치
dev : 개발 ν™˜κ²½ 브랜치
feat/개발λͺ… : κΈ°λŠ₯ 개발 브랜치 ex) feat/Login
fix/개발λͺ… : μž‘μ€ λ³€κ²½ & 버그 μˆ˜μ • 브랜치 ex) fix/Login



πŸ”– DB Diagram


ERD


πŸ”– System Architecture - Backend


System Architecture - Backend


πŸ”– System Architecture - Frontend


System Architecture - Frontend


πŸ”–Directory Tree

Rest API

        └─src
    β”œβ”€main
    β”‚  β”œβ”€java
    β”‚  β”‚  └─goorm
    β”‚  β”‚      └─dofarming
    β”‚  β”‚          β”œβ”€domain
    β”‚  β”‚          β”‚  └─jpa
    β”‚  β”‚          β”‚      β”œβ”€auth
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  β”œβ”€request
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€chatroom
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  β”œβ”€request
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€email
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  └─request
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€image
    β”‚  β”‚          β”‚      β”‚  β”œβ”€config
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€join
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  β”œβ”€request
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€like
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  β”œβ”€request
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€location
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  β”œβ”€request
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€log
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  β”œβ”€request
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€message
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€recommend
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  β”œβ”€request
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  β”œβ”€service
    β”‚  β”‚          β”‚      β”‚  └─util
    β”‚  β”‚          β”‚      β”œβ”€review
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  └─request
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€review_like
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  β”œβ”€repository
    β”‚  β”‚          β”‚      β”‚  └─service
    β”‚  β”‚          β”‚      β”œβ”€tag
    β”‚  β”‚          β”‚      β”‚  β”œβ”€controller
    β”‚  β”‚          β”‚      β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚      β”‚  β”‚  └─response
    β”‚  β”‚          β”‚      β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚      β”‚  └─repository
    β”‚  β”‚          β”‚      └─user
    β”‚  β”‚          β”‚          β”œβ”€controller
    β”‚  β”‚          β”‚          β”œβ”€dto
    β”‚  β”‚          β”‚          β”‚  β”œβ”€request
    β”‚  β”‚          β”‚          β”‚  └─response
    β”‚  β”‚          β”‚          β”œβ”€entity
    β”‚  β”‚          β”‚          β”œβ”€repository
    β”‚  β”‚          β”‚          └─service
    β”‚  β”‚          β”œβ”€global
    β”‚  β”‚          β”‚  β”œβ”€auth
    β”‚  β”‚          β”‚  β”œβ”€common
    β”‚  β”‚          β”‚  β”‚  β”œβ”€dto
    β”‚  β”‚          β”‚  β”‚  β”‚  β”œβ”€request
    β”‚  β”‚          β”‚  β”‚  β”‚  └─response
    β”‚  β”‚          β”‚  β”‚  β”œβ”€entity
    β”‚  β”‚          β”‚  β”‚  └─error
    β”‚  β”‚          β”‚  β”‚      └─exception
    β”‚  β”‚          β”‚  β”œβ”€config
    β”‚  β”‚          β”‚  β”‚  └─kafka
    β”‚  β”‚          β”‚  β”œβ”€filter
    β”‚  β”‚          β”‚  └─util
    β”‚  β”‚          └─infra
    β”‚  β”‚              β”œβ”€https
    β”‚  β”‚              └─tourapi
    β”‚  β”‚                  β”œβ”€config
    β”‚  β”‚                  β”œβ”€controller
    β”‚  β”‚                  β”œβ”€domain
    β”‚  β”‚                  β”œβ”€dto
    β”‚  β”‚                  β”œβ”€repository
    β”‚  β”‚                  └─service
    β”‚  β”‚                      └─testpackage
    β”‚  └─resources
    β”‚      β”œβ”€static
    β”‚      └─templates
    └─test
        └─java
            └─goorm
                └─dofarming

Chat

└─src
    β”œβ”€main
    β”‚  β”œβ”€java
    β”‚  β”‚  └─goorm
    β”‚  β”‚      └─chat
    β”‚  β”‚          β”œβ”€config
    β”‚  β”‚          β”œβ”€controller
    β”‚  β”‚          β”œβ”€domain
    β”‚  β”‚          β”œβ”€dto
    β”‚  β”‚          └─service
    β”‚  └─resources
    β”‚      β”œβ”€static
    β”‚      └─templates
    └─test
        └─java
            └─goorm
                └─chat

Notification

└─src
    β”œβ”€main
    β”‚  β”œβ”€java
    β”‚  β”‚  └─goorm
    β”‚  β”‚      └─notification
    β”‚  β”‚          β”œβ”€config
    β”‚  β”‚          β”‚  └─kafka
    β”‚  β”‚          β”œβ”€controller
    β”‚  β”‚          β”œβ”€dto
    β”‚  β”‚          β”œβ”€repository
    β”‚  β”‚          └─service
    β”‚  └─resources
    β”‚      β”œβ”€static
    β”‚      └─templates
    └─test
        └─java
            └─goorm
                └─notification

πŸ”–Development Environment

  • Java 17.0.10
  • Gradle 9.0
  • Spring Boot 3.3.1

πŸ“š μ£Όμš” 라이브러리

  • Spring Data JPA
  • Spring Security
  • Spring Validation
  • Spring Kafka 3.7.0
  • QueryDSL JPA 5.0.0 (jakarta)
  • Hibernate Validator 8.0.1.Final

πŸ”’ λ³΄μ•ˆ

  • JWT 0.11.5
  • Bouncy Castle 1.69

πŸ’Ύ λ°μ΄ν„°λ² μ΄μŠ€

  • H2 Database 2.2.224
  • MySQL 5.7.44

☁️ ν΄λΌμš°λ“œ

  • AWS S3 (Spring Cloud Starter 2.2.6.RELEASE)

πŸ”§ μœ ν‹Έλ¦¬ν‹°

  • spring-boot-starter-mail
  • Expiring Map 0.5.9
  • Guava 33.2.1-jre

πŸ› οΈ 개발 도ꡬ

  • Lombok
  • org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2

πŸ‘©πŸ»β€πŸŽ¨ Wireframe

WireFrame WireFrame



🌟 Pages

λžœλ”© νŽ˜μ΄μ§€ λΉ„νšŒμ›
start-page login-page
일반 νšŒμ›κ°€μž… 일반 둜그인
register-page register genre-page
μ†Œμ…œ 둜그인 ν”„λ‘œν•„ μˆ˜μ •
home-page movie-detail-page
λ‘œκ·Έμ•„μ›ƒ νšŒμ›μΌ λ•Œ, λ³΄μ΄λŠ” λ§΅ν™”λ©΄
home-page movie-detail-page
λžœλ€ν•€-ν…Œλ§ˆμ„€μ • λ§΅ - μΆ”μ²œ μž₯μ†Œ 쑰회
movie-detail-page review-detail-page
곡유 κΈ°λŠ₯ 리뷰 κΈ°λŠ₯
review-detail-page review-detail-page
μ±„νŒ… κΈ°λŠ₯ ** **
review-detail-page none


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors