Skip to content

한국에 여행오는 외국인들과 국내 여행객들을 위한 물품 공유 서비스

License

Notifications You must be signed in to change notification settings

STANL-2/WeShareU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

목차

  1. 팀 소개
  2. 기술 스택
  3. 프로젝트 개요
  4. 설계 문서
  5. DB 모델링
  6. 산출물
  7. 발표 자료
  8. 동료 평가

Team STANL-2

image

스크린샷 2024-09-05 오전 9 50 04 스크린샷 2024-09-05 오전 9 47 10 스크린샷 2024-09-05 오전 9 47 28 스크린샷 2024-09-05 오전 9 47 28 스크린샷 2024-09-05 오전 9 47 28
기우석 김민석 방동호 송의혁 유혜진






기술 스택

1. Backend

2. Frontend

3. DataBase

4. Infra

5. ETC

프로젝트 개요

1. 주제

한국에 여행오는 외국인들과 국내 여행객들을 위한 물품 공유 서비스

2. 배경

  1. 기내 반입 금지 물품들로 인해 버려지는 물품들이 공항에 쌓여가고 있음
  2. 여행 중 일회성 소비를 막고, 지속 가능한 사회를 만들어가기 위함

3. 서비스 목표

💡 여행자들의 불필요한 지출 방지 및 버려지는 물품 감소
💡 외국인, 국내인 통한된 여행자 커뮤니티
💡 여행 물품을 기부를 함으로써 이후 여행오는 여행자가 사용할 수 있게 함

4. 차별점

당근 WSU 오쉐어
다양한 언어 지원 X X
기부 & 대여 서비스
여행자 커뮤니티 X

5. 핵심 기능

  1. 공유 물품 대여 기능
  2. 여행자 SNS 커뮤니티
  3. 사용자 간 채팅 기능
  4. 다양한 언어 번역 기능

6. 기대 효과

국내/외 여행자 커뮤니티를 활성화하여, 사용자들끼리의 상호작용을 이끌어내고, 여행 물품 대여 및 공유를 통해서 사용층을 늘림

설계 문서


System Architecture

image

DDD

1. Event Storming

image

2. External System

image

3. Command & Actor

image

4. Aggregate

image

5. Bounded Context

image

6. Context Mapping

image

DB 모델링

1. 논리 모델링

image

2. 물리 모델링

image

산출물

1. 요구사항 명세서

요구사항 명세서 바로가기

image image

2. 기능 정의서

[기능 정의서 바로가기]

image image

3. WBS

image

4. 화면 설계서

image image image

5. AS IS TO BE

image

6. 실행 결과

👨‍👩‍👧‍👦회원
회원가입 & 이메일 인증
default.mp4
로그인
default.mp4
프로필 수정
default.mp4

📋게시글
게시글 조회
default.mp4
게시글 작성
default.mp4
게시글 수정
default.mp4
게시글 삭제
default.mp4
게시글 댓글 알람
default.mp4

🧳공유물품
공유물품 조회 & 대여
default.mp4

📢공지사항
공지사항 조회
default.mp4

🙋🏻FAQ & 번역
FAQ 조회 & 번역
FAQ.mp4

💌채팅
채팅방 생성 & 채팅
default.mp4
게시글에서 채팅보내기
default.mp4

7. CI/CD

Jenkins CI/CD

jenkins자동배포

Jenkins Code

pipeline {
    agent any

    tools {
        gradle 'gradle'
        jdk 'openJDK17'
    }

    environment {
        DOCKERHUB_CREDENTIALS = credentials('DOCKERHUB_PASSWORD')
        DOCKERHUB_USERNAME = 'hjeu'
        GITHUB_URL = 'https://github.com/STANL-2/STANL_Backend.git'
    }

    stages {
        stage('Preparation') {
            steps {
                script {
                    if (isUnix()) {
                        sh 'docker --version'
                    } else {
                        bat 'docker --version'
                    }
                }
            }
        }
        stage('Source Build') {
            steps {
                script {
                    if (isUnix()) {
                        sh "chmod +x ./gradlew"
                        sh "./gradlew clean build -x test"
                    } else {
                        bat "gradlew.bat clean build -x test"
                    }
                }
            }
        }
        stage('Container Build and Push') {
            steps {
                script {
                    dir('C:/STANL_Backend') {  
                        withCredentials([usernamePassword(credentialsId: 'DOCKERHUB_PASSWORD', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) {
                            if (isUnix()) {
                                sh "docker build -t ${DOCKERHUB_USERNAME}/weshareu-backend:latest ."
                                sh "docker login -u ${DOCKER_USER} -p ${DOCKER_PASS}"
                                sh "docker push ${DOCKERHUB_USERNAME}/weshareu-backend:latest"
                            } else {
                                bat "docker build -t ${DOCKERHUB_USERNAME}/weshareu-backend:latest ."
                                bat "docker login -u %DOCKER_USER% -p %DOCKER_PASS%"
                                bat "docker push ${DOCKERHUB_USERNAME}/weshareu-backend:latest"
                            }
                        }
                    }
                }
            }
        }
    }

    post {
        always {
            script {
                if (isUnix()) {
                    sh 'docker logout'
                } else {
                    bat 'docker logout'
                }
            }
        }
        success {
            echo 'Pipeline succeeded!'
        }
        failure {
            echo 'Pipeline failed!'
        }
    }
}

7. 발표자료

image

image

8. 동료 평가

동료 평가 확인하기

ABOUT 방동호

FROM COMMENT
기우석 시큐리티에 대한 이해를 바탕으로 이번 프로젝트의 보안을 책임져 주었습니다. 또한 프로젝트의 문서화 설계를 미리 준비함으로 팀의 프로젝트 일정 관리가 수월해졌습니다.
송의혁 다른 팀원들의 의견을 적극적으로 수용하시고 소통을 통해서 해결해 나가시는 점이 좋았습니다. 시큐리티라는 어려운 부분을 맡아서 끝까지 책임지고 마무리 하신점이 인상깊었습니다.
김민석 쉽지 않은 부분인 로그인 관련기능을 개발 기간이 짧음에도 불구하고 개발하는 모습을 보고 대단하다고 느꼈습니다.
유혜진 동호님은 시큐리티에 대해 공부를 하고 짧은 기간동안 완벽하게 구현하는 것을 보고 대단하다는 생각을 했습니다. 그리고 개발을 정말 빠르게, 정확하게 하십니다. 정말 멋있고 고생했다고 말하고 싶습니다!

ABOUT 송의혁

FROM COMMENT
기우석 아이디어가 항상 좋으셔서 지난 팀부터 주제는 의혁님 것으로 결정되었고, 몰입감을 가지고 할 수 있었던 것 같습니다. 구상해왔던 것들을 다 구현하셔서 aha 포인트를 만들어주셨습니다.
방동호 의혁님은 팀의 오른쪽 기둥(어머니)이십니다. 팀원들이 다들 힘든 시간을 보내 예민했던 시기도 있었지만 의혁님이 어머니처럼 뭐든 잘 풀어가게 만들어 주셨습니다.
김민석 팀의 핵심 기능 중 하나인 게시글에 사진을 첨부하는 기능을 담당하셨습니다. 구현 과정에서 어려움이 있었지만, 이를 극복하고 성공적으로 완성하는 모습을 보며 책임감 있는 분이라고 느꼈습니다..
유혜진 의혁님은 개발하면서 정말 열정이 많다는 것을 느꼈습니다. 서비스에 대한 생각을 많이 하고 어떻게하면 더 좋을지에 대해 생각을 많이 하시면서 책임감이 굉장하다고 느꼈습니다.

ABOUT 김민석

FROM COMMENT
기우석 프로젝트 경험이 풍부하신 덕분에 프로젝트 중에 덧붙이고 거를 것들에 대해서 명확해 질 수 있었고, 생각지 못한 부분을 경험하지 않아도 미리 예방할 수 있게 해주셨습니다.
송의혁 프로젝트를 진행하면서 모르는 부분을 많이 질문했던 거 같습니다. 오류가 발생하는 부분에 log를 찍어가며 금방 해결하시는 점들을 보고, 많이 배웠던거 같습니다.
방동호 민석님은 팀에서 가장 프로젝트 관련 경험이 많으셔서 팀원들 모두가 각자 힘든걸 하는데 어려움이 있을때 툭툭 키워드를 던져주면서 엄청난 삽질을 안하게 도와주셨습니다.
유혜진 민석님은 확실히 프로젝트 경험이 많아서 그런지 많이 의지가 되었습니다. 프로젝트를 하면서 힘든게 있으면 와서 같이 도와주시기도 하고 도움이 정말 많이 됐습니다. 감사합니다!

ABOUT 유헤진

FROM COMMENT
기우석 혜진님은 제가 맞닥뜨린 난관들을 물어보면 다른 관점으로 바라보고 해결책을 제시해주셨습니다. 할 일이 바쁜 와중에도 긍정 에너지로 친절하게 대해주셔서 감사합니다.
송의혁 책임감이 아주 강하신 분이시고, 어려운 환경 속에서도 끝까지 완성하시는 모습이 인상깊었습니다. 그리고 SSE를 통한 알림서비스를 맡아서 잘 수행해주셨습니다.
김민석 때와 장소를 가리지 않고 본인이 맡은 일을 충실히 수행하는 모습이 인상적이었습니다.
방동호 제 짝꿍 혜진님은 우리팀의 홍일점입니다. 항상 팀원의 기분을 매우 좋게해주시면서 자기가 맡은건 확실하게 하시는 책임감이 엄청 높으십니다.

ABOUT 기우석

FROM COMMENT
방동호 우석님은 팀의 든든한 왼쪽 기둥(아버지)이라고 저는 생각합니다. 항상 든든하게 팀이 힘들면 한번씩 찾아갈 수 있도록 편하게 해주셨습니다.
송의혁 가장 까다로웠던 채팅을 맡으셔서 잘 완성하셨고, 짝꿍으로써 함께 고민하고 생각해본 시간이 좋았던 거 같고, 제가 캐치하지 못한 점들을 잘 골라내주셔서 도움이 됐습니다.
김민석 채팅 기능의 세세한 부분까지 신경 써서 트러블슈팅하는 모습을 보며, 정말 끈기 있는 분이라고 느꼈습니다.
유혜진 우석님은 개발에 문제가 생겨도 포기하지 않고 열심히 하는 모습을 보여줍니다. 그리고 해내는 모습이 정말 멋있다고 생각합니다. 채팅 하느라 힘드셨을텐데 정말 고생 많으셨습니다!

About

한국에 여행오는 외국인들과 국내 여행객들을 위한 물품 공유 서비스

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published