Code Monkey home page Code Monkey logo

sungshin-mine-09_cicd's Introduction

🔮성신마인 09번지✨ (Sungshin_Mine_09)

2023-1학기 성신여자대학교 컴퓨터공학과 서버시스템구축실습(심화전공) 팀프로젝트 4조 (팀명: 이거사조)

🛠️개발기간 :
2023.3.15 ~ 2023.4.18 (프로젝트 계획, 요구사항 분석, 데이터베이스 설계, 플로우차트 및 와이어프레임 설계)
2023.4.26 ~ 2023.6.7 (프론트엔드 구현 및 백엔드 API 구현)

📌목차

  1. 성신마인 09번지란?
  2. 팀원 소개
  3. 배포 주소
  4. 프로젝트 소개
  5. 주요 기능
  6. 화면 구성
  7. 시작 가이드
  8. 기술 스택

🤔성신마인 09번지란?

  • 서비스명 소개
    • 성신여자대학교 "재학생"들이 우리가 만든 웹사이트를 통해서 자신의 마음에 딱 드는 공동구매를 찾았으면(캐냈으면) 하는 마음으로 지은 이름이다. 그래서 광산과, 내꺼라는 의미를 둘 다 가진 'Mine' 이라는 단어가 떠올랐고, 성신여자대학교 재학생들만 참여할 수 있는 특수성을 고려하여, ‘성신마인(Sungshin Mine)'이라고 지었다.
      뒤에 ‘09번지’에서 ‘09’는 학우들 사이에서 공동구매라는 단어를 줄여서 은어로 '공구'라고도 부르기도 해서 그 부분에서 발음의 유사성을 가지고 온 것이다. 그리고 학우들이 우리가 만든 하나의 웹사이트에 모두 모여 공동구매를 진행하거나 참여하는 것이니까, 우리의 웹사이트가 학우들에게는 장소처럼 느껴질 수도 있겠다는 생각에 '번지'라는 말도 붙여주었다.
      그래서 '성신마인 09번지'라고 서비스 이름을 지었다.
  • 서비스의 목적
    • 성신여자대학교 "재학생"들을 위한 공동구매 웹서비스.
      학우들이 진행하는 공동구매 절차가 여러 플랫폼에 퍼져있다는 불편함을 개선하기 위해 이러한 서비스를 만들게 되었다.

💜팀원 소개

  • 👑배기연(정보시스템공학과)
    • 플로우차트 / 공동구매 상품 상세페이지, 수요조사 참여, 새소식 생성 및 확인, 채팅 관련 모든 기능 구현 / QA
  • 탁유제(컴퓨터공학과)
    • 플로우차트 / DB 생성, 공동구매방 생성, 입금폼 전과정(제작, 작성, 제출, 계좌 확인, 결과 통계) 기능 구현 / 최종발표
  • 권형미(컴퓨터공학과)
    • 플로우차트 / 마이페이지, 알림페이지 기능 구현 / QA
  • 손승현(융합보안공학과)
    • 와이어프레임 / 기본 라우팅, 이메일 인증, 회원가입, 로그인+로그아웃, 아이디 찾기+비밀번호 재설정, 아이디/비밀번호 변경 기능 구현 / README 작성 / 배포
  • 김다현(통계학과)
    • 와이어프레임 / 홈화면, 모든 공동구매 조회(=전체 공구방), 수요조사/마감임박 단계 상품 조회, 수요조사 결과 통계, 공동구매방 삭제 기능 구현 / 중간발표 / QA

⚡프로젝트 계획, 요구사항 분석, 데이터베이스 설계 : 모든 팀원 참여

⭐배포 주소

➡️ http://34.22.79.220

  • Google Cloud Platform의 VM인스턴스를 활용하여 배포하였다.
    • IP를 고정시킨 뒤, 데이터베이스 서버와 웹서버를 분리하였다.
      MySQL DB 서버 인스턴스 하나, Node.js 웹서버 인스턴스 하나. 이렇게 두 개의 VM 인스턴스를 이용하여 배포하였다.

📺데모 영상 링크 : https://drive.google.com/file/d/1VHoCAJBAXntbcAifg9qwJr0Vd6IUeABR/view?usp=sharing

🔥프로젝트 소개

새학기가 되면, 성신여자대학교의 많은 학생들은 자신이 직접 디자인한 학잠, 새내기 학생들을 위한 과잠, 수강 과목에 필요한 준비물 등을 공동으로 구매하기 위해 커뮤니티(ex. 에브리타임)에 수요조사를 올리고는 한다.

우리 학교 학생들의 공동구매 과정은 보통,

  1. 커뮤니티에서 수요조사 게시글을 올려 참여자를 모으고,
  2. 진행 공지용 카카오톡 방을 만들고,
  3. 구글 폼으로 입금자를 확인하고,
  4. 공동구매 물품을 배부하는 과정으로 이루어진다.

하지만 이러한 과정들이 모두 각각 다른 플랫폼에서 이루어지면서 상당한 불편함을 초래하고 있다.

뿐만 아니라 대학생들의 대표적인 커뮤니티인 에브리타임에서는 게시글 알림 기능이 없으므로, 수요조사에 참여해도 실제 판매 폼이 열렸을 때 알림을 받을 방법이 없다. 또한 공동구매 관련 게시글이 커뮤니티의 이곳저곳에 흩어져 있기에 참여만 하고 잊어버리기도 쉽다.

“성신마인 09번지”는 이러한 불편함을 해소하기 위한 서비스이다.
본 서비스는 진행 중인 공동구매를 한곳에 모아주고, 학우들에게 공동구매 주최 및 참여에 대한 편의를 제공하는 것을 목적으로 한다.

👩🏻‍💻주요 기능

💟 : only 참여자, ⭐: only 주최자

1️⃣회원

  • 이메일 인증+회원가입, 로그인, 아이디 찾기, 비밀번호 재설정, 아이디/비밀번호 변경, 마이페이지, 새소식 알림

2️⃣공동구매방

  • 홈화면, 공동구매방 생성 및 삭제(삭제는 ⭐), 공동구매 상품 상세정보 조회, 모든 공동구매 조회(=전체 공구방),
    수요조사/마감임박 단계 상품 조회, 수요조사 참여💟, 수요조사 통계⭐,
    새소식 생성⭐, 새소식 확인, 채팅방 생성💟, 채팅 메세지 조회 및 전송

3️⃣입금폼

  • 입금폼 양식 생성⭐, 입금폼 작성, 입금폼 제출, 입금계좌 확인, 입금폼 전체결과 조회⭐

♥️ HLD(High-Level-Design)으로 전체 기능 파악하기🔽 (made by yujetak)

💻화면 구성

1️⃣회원

회원가입
(이메일 인증)
회원가입
(정보 입력)
회원가입 완료 로그인 마이페이지
아이디 찾기 비밀번호 재설정 아이디 변경 비밀번호 변경 새소식 알림

2️⃣공동구매방

💟 : only 참여자, ⭐: only 주최자

홈화면 공동구매방 생성 공동구매방 삭제⭐ 상품 상세정보(⭐+💟)
+수요조사 참여💟
모든 공동구매 조회 수요조사 단계 상품 조회 마감임박 단계 상품 조회 수요조사 통계⭐
새소식 생성⭐ 새소식 확인 채팅방 생성💟 채팅 메세지 조회 및 전송

3️⃣입금폼

입금폼 양식 생성⭐ 입금폼 작성 및 제출 입금계좌 확인 입금폼 전체결과 조회⭐

⚙️시작 가이드

요구사항

  • Node.js v18.15.0
  • npm v9.5.0
  • nvm 1.1.11

설치 및 실행 방법

‼️ .env, senderInfo.json, jwtConfig.js 파일은 보안 상 민감한 정보이므로, 해당 repo에 포함되어있지 않습니다.

(이미 Node.js가 18.15.0 버전이라면, 아래의 두 명령은 생략해도 됩니다.
그렇지 않다면, nvm을 설치한 후, 아래의 두 명령을 실행하는 것을 권장합니다.)
($ nvm install 18.15.0)
($ nvm use 18.15.0)

$ git clone https://github.com/SungshinMine09/sungshin-mine-09.git
$ cd sungshin-mine-09
$ cd server
$ npm install
$ npm start

🛠️기술 스택

개발


협업

sungshin-mine-09_cicd's People

Contributors

hyomee2 avatar linason-esc avatar dahyun-kim01 avatar yujetak avatar giyeons avatar lkw5536 avatar gaonyu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.