Skip to content

A604-web/backend

Repository files navigation

웹 기술 Backend

소개

웹 기술 프로젝트의 Backend 스켈레톤 코드

기술스택 및 라이브러리

Project Version Description
Java 17.0.x Open JDK LTS
Gradle 6.9.3 Build Tool
MySQL 8.0.x

개발 환경 구성

Windows 기준 개발 환경 구성 설명

  1. OpenJDK 설치

    1. 17 LTS 설치 파일 다운로드 및 실행
    2. 설치 후 명령 프롬프트(cmd) 확인
      > java -version
      
      출력 예)
      openjdk version "17.0.11" 2024-04-16
      OpenJDK Runtime Environment Temurin-17.0.11+9 (build 17.0.11+9)
      OpenJDK 64-Bit Server VM Temurin-17.0.11+9 (build 17.0.11+9, mixed mode, sharing)
      
  2. 데이터베이스 구성 (이미 설치되어 있거나 원격 DB를 사용하는 경우 설치 부분 생략)

    1. MySQL 다운로드 사이트에서 Community 설치 파일 다운로드 및 실행
    2. MySQL Server, MySQL Shell을 포함하여 설치
    3. DB 및 계정 생성
      • MySQL Shell 실행
        MySQL  JS > \connect root@localhost
        MySQL  localhost:3306  JS > \sql
        
      • DB 생성
        create database IF NOT EXISTS `ssafy_web_db` collate utf8mb4_general_ci;
      • User 생성
        create user '사용자계정'@'localhost' identified by '비밀번호';
        grant all privileges on ssafy_web_db.* to 'ssafy'@'localhost';
        flush privileges;
  3. IDE 설치

    1. JetBrains 공식 사이트에서 IntelliJ IDE Community Edition 설치 파일 다운로드 및 실행
  4. 스켈레톤 다운로드 및 실행

    1. 프로젝트 다운로드

      git clone <repo URL>
      
    2. IntelliJ의 [File] - [Open]에서 backend 폴더 선택 후 [OK]

    3. src/main/resources/application.properties 수정

      spring.datasource.hikari.username=<사용자 계정>
      spring.datasource.hikari.password=<비밀번호>
      
    4. [Gradle Tasks] 탭의 [Run Gradle Tasks] 선택하여 실행

디렉토리 구조

.
└── main
    ├── generated
    ├── java
    │   └── com
    │       └── ssafy
    │           ├── GroupCallApplication.java
    │           ├── api  /* REST API 요청관련 컨트롤러, 서비스, 요청/응답 모델 정의*/
    │           │   ├── controller
    │           │   │   ├── AuthController.java
    │           │   │   └── UserController.java
    │           │   ├── request
    │           │   │   ├── UserLoginPostReq.java
    │           │   │   └── UserRegisterPostReq.java
    │           │   ├── response
    │           │   │   ├── UserLoginPostRes.java
    │           │   │   └── UserRes.java
    │           │   └── service
    │           │       ├── UserService.java
    │           │       └── UserServiceImpl.java
    │           ├── common /* 공용 유틸, 응답 모델, 인증, 예외처리 관련 정의*/
    │           │   ├── auth
    │           │   │   ├── JwtAuthenticationFilter.java
    │           │   │   ├── SsafyUserDetailService.java
    │           │   │   └── SsafyUserDetails.java
    │           │   ├── exception
    │           │   │   └── handler
    │           │   │       └── NotFoundHandler.java
    │           │   ├── model
    │           │   │   └── response
    │           │   │       └── BaseResponseBody.java
    │           │   └── util
    │           │       ├── JwtTokenUtil.java
    │           │       └── ResponseBodyWriteUtil.java
    │           ├── config /* WebMvc 및 JPA, Security, Swagger 등의 추가 플러그인 설정 정의*/
    │           │   ├── JpaConfig.java
    │           │   ├── SecurityConfig.java
    │           │   ├── SwaggerConfig.java
    │           │   └── WebMvcConfig.java
    │           └── db /* 디비에 저장될 모델 정의 및 쿼리 구현 */
    │               ├── entity
    │               │   ├── BaseEntity.java
    │               │   └── User.java
    │               └── repository
    │                   ├── UserRepository.java
    │                   └── UserRepositorySupport.java
    └── resources
        ├── application.properties /* 웹 리소스(서버 host/port, 디비 host/port/계정/패스워드) 관련 설정 정의 */

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •