Giter Club home page Giter Club logo

final's Introduction

GYM 웹페이지 프로젝트

목차

  1. 프로젝트 개요
  2. 브랜치 전략
  3. 프로젝트 진행기간
  4. 기능 요약
  5. 기술 스택
  6. 사용 방법
  7. 팀 멤버 및 역할
  8. 프로젝트 구조

프로젝트 개요

본 프로젝트는 구디 아카데미의 파이널 프로젝트로서, 헬스/짐 관련 지점 관리 및 사용자들이 일정을 예약할 수 있는 서비스를 구현하는 것을 목표로 합니다. 대부분의 기능은 CRUD 기반으로 구현되었으며, 실제 서비스를 구현하는 과정에서 발생할 수 있는 문제점들을 최소화하기 위해 체계적인 브랜치 전략을 채택하였습니다.

브랜치 전략

브랜치 전략의 주요 목적은 프로젝트의 코드베이스 안정성을 유지하고, 효율적인 팀 협업을 가능하게 하는 것입니다. 각 팀원은 개별적인 작업 브랜치에서 개발을 진행하며, 안정적이고 검증된 변경 사항만 develop 브랜치로 통합합니다.

전략 목적

  • 본 프로젝트의 브랜치 전략은 코드베이스의 안정성을 유지하면서 효율적인 협업을 가능하게 하는 것을 목표로 합니다.
  • 이를 위해 각 팀원은 개별적인 작업 브랜치에서 개발을 진행하며, 안정적이고 검증된 변경 사항만 develop 브랜치로 통합합니다.

프로세스

  1. 개별 브랜치 작업: 각 팀원은 자신의 이름이나 기능에 따라 명명된 개별 브랜치에서 작업을 진행합니다. 이는 코드의 충돌을 방지하고, 작업의 분리를 돕습니다.

  2. 코드 리뷰 및 테스트: 작업이 완료되면, 해당 브랜치의 변경 사항을 develop 브랜치로 병합하기 전에 코드 리뷰와 테스트를 진행합니다. 이 과정을 통해 오류를 사전에 발견하고, 코드 품질을 유지합니다.

  3. 품질 기록: 테스트 과정에서 발생되는 이슈들은 깃헙 이슈 기능을 이용해 과정을 기록했습니다.

  4. Pull Request: 오류가 없고, 코드 리뷰를 통과한 경우에만 develop 브랜치에 Pull Request(PR)를 생성합니다. PR은 팀원들의 추가 리뷰를 거쳐 승인됩니다.

  5. develop 브랜치로 병합: PR이 승인되면, 안정적인 코드만 develop 브랜치로 병합됩니다. 이를 통해 develop 브랜치는 항상 최신이면서 안정적인 상태를 유지합니다.

이점

이러한 브랜치 전략은 다음과 같은 이점을 제공합니다:

  • 충돌 최소화: 각 팀원이 독립된 브랜치에서 작업함으로써 코드 충돌의 가능성을 크게 줄일 수 있습니다.
  • 코드 품질 유지: 코드 리뷰와 테스트 과정을 거치며, 오류를 사전에 제거하고 코드의 안정성을 높입니다.
  • 지속적인 통합: 안정적인 변경 사항만이 develop 브랜치에 통합되므로, 프로젝트의 지속적인 통합 및 배포에 유리합니다.
  • 이 전략은 프로젝트의 효율적인 관리와 팀원 간의 원활한 협업을 지원합니다.

프로젝트 진행기간

  • 시작일: 2023년 12월 21일
  • 종료일: 2024년 1월 19일
  • 유지보수 및 지속적인 보완: 프로젝트 종료 후에도 지속적인 업데이트 및 보완 작업 예정

기능 요약

본 프로젝트는 GYM 관련 간단한 ERP 시스템을 제공합니다. 주요 기능은 다음과 같습니다:

회원 기능

  • 회원가입, 로그인, 내 정보 확인 및 수정, 비밀번호 변경, 계정 탈퇴 등의 기능 제공
  • 멤버십 결제 및 간략한 결제 기능 구현
  • 결제 후 운동 프로그램 선택 및 예약
  • 출석 여부 조회 및 해당 프로그램에 대한 리뷰 작성
  • 모든 회원 계정에 대한 문의 내용 작성 및 공지사항 조회

직원 기능

  • 최상위 관리자 계정으로 로그인 후 다른 관리자 계정 추가 및 소속 지점 선택 기능
  • 공지사항 작성 및 회원 문의사항에 대한 답변 기능
  • 회원 리뷰에 대한 답변 및 멤버십 종류 관리 (추가/삭제/수정)
  • 운동 프로그램 관리 (추가/삭제/수정)
  • 지점별 운동 장비 발주 및 재고 확인 기능

기술 스택

본 프로젝트에서 사용된 주요 기술은 다음과 같습니다:

  • 백엔드: Java, Spring Boot, JSP
  • 프론트엔드: HTML5, CSS, JavaScript, jQuery, Vue3, Axios, Element-plus
  • 데이터베이스: MariaDB, MyBatis
  • 웹 어플리케이션 서버 (WAS): Tomcat
  • 서버: AWS Lightsail
  • 형상 관리: Git, GitHub

사용 방법

팀 멤버 및 역할

프로젝트에 참여한 팀 멤버와 그들의 역할은 다음과 같습니다:

  • 권도헌: [역할 설명]
  • 주가희: 소모품, 프로그램 관련 CRUD, 발주/폐기 기능 , 지점별 재고 확인, 소모품 파일 업로드
  • 박겨레: 직원 계정 및 세션 관련 CRUD, 공지사항 입력 및 답변, 지점 정보 관리
  • 김지산: 회원 계정 및 세션 관련 CRUD, 문의사항 및 리뷰 관리, 멤버십 관리, 결제 및 결제 취소 기능, 회원 결제 정보 관리

프로젝트 구조

본 프로젝트의 구조는 다음과 같이 구성되어 있으며, 각 디렉토리와 파일의 주요 역할을 아래에 설명합니다.

디렉토리 구조

  • src/: 소스 코드를 포함하는 디렉토리.
    • main/java/: Java 소스 파일을 포함.
    • main/resources/: 정적 자원 및 설정 파일을 포함.
    • test/: 테스트 코드를 포함.
  • web/: 웹 관련 파일을 포함하는 디렉토리.
    • WEB-INF/: 서버에 의해 사용되는 구성 파일 및 JSP 파일을 포함.
  • docs/: 프로젝트 문서화를 위한 파일을 포함.
  • lib/: 외부 라이브러리 및 종속성을 포함.

주요 파일

  • pom.xml: Maven 프로젝트 관리 및 빌드 설정 파일.
  • application.properties: Spring Boot 애플리케이션 설정 파일.
  • home.jsp: 메인 페이지 JSP 파일.
  • ClassController.java: 각 Class의 관련 기능을 처리하는 컨트롤러.

모듈 설명

  • 회원 관리 모듈: 회원가입, 로그인, 정보 수정 등 회원 관련 기능을 처리.
  • 예약 관리 모듈: 운동 프로그램 예약 및 관리 기능을 담당.

final's People

Contributors

jssjssj avatar joogahee avatar park8374 avatar gurehd1105 avatar junhyeok-eventus avatar j511y 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.