Fullstack 49

heo4·2026년 6월 24일

Fullstack

목록 보기
4/71

풀스택

포트폴리오용 프로젝트

접속용 주소 : http://43.201.55.31:8080

요구사항 (기술 스펙)
1) Java (21버전)
2) 스프링 부트
3) MySQL / MariaDB
4) MyBatis + JPA -> QuerySQL

  • MyBatis : 동적 쿼리를 생성
  • JPA : 정적 쿼리 생성 (CRUD)
    5) Lombok
    6) 타임리프(프론트)
    7) 배포는 aws lightsail

만들어 할 것 (게시판)
1) 게시글 CRUD
2) 회원 기능 (회원가입, 로그인, 로그아웃, 마이페이지, 내가 작성한 게시글 보기)
3) 댓글 기능
4) 검색 기능 (페이지네이션)

해당 스펙으로 프로젝트 제작

CodeLog

개발자 커뮤니티 게시판 포트폴리오 프로젝트

기술 스택

분류기술
LanguageJava 21
FrameworkSpring Boot 3.2.5
ORMJPA (정적 CRUD) + MyBatis (동적 검색 쿼리)
SecuritySpring Security 6
ViewThymeleaf
DBMariaDB
BuildMaven
DeployAWS Lightsail (Ubuntu)
기타Lombok, Bootstrap 5

주요 기능

회원

  • 회원가입 / 로그인 / 로그아웃

  • 마이페이지 (닉네임 변경, 비밀번호 변경)

  • 내가 작성한 게시글 목록

    게시글

  • 카테고리별 게시글 (공지 / 자유 / 질문 / 프로젝트 / 취업·커리어)

  • 게시글 CRUD (작성자 본인만 수정·삭제)

  • 조회수 자동 증가

  • 태그 기능 (최대 5개, 태그 클릭 시 필터링)

  • 좋아요 토글 (AJAX, 비로그인 시 수만 표시)

    댓글

  • 게시글별 댓글 작성 / 삭제 (작성자 본인만)

    검색 / 페이지네이션

  • 제목 / 내용 / 제목+내용 통합 검색

  • 카테고리·태그 필터

  • 페이지네이션 (10개씩)


    프로젝트 구조

    src/main/java/com/board
    ├── config/ # SecurityConfig
    ├── controller/ # BoardController, AuthController, CommentController
    │ LikeController, UserController, HomeController
    ├── domain/ # Post, User, Comment, Tag, PostLike
    ├── dto/ # PostDto, PostSearchDto, CommentDto, UserJoinDto
    ├── exception/ # GlobalExceptionHandler
    ├── mapper/ # PostMapper (MyBatis)
    ├── repository/ # JPA Repository
    └── service/ # PostService, CommentService, UserService


    DB 설계

    users
    ├── id, username, password, email, nickname
    └── created_at, updated_at

    posts
    ├── id, title, content, category, view_count
    ├── user_id (FK → users)
    └── created_at, updated_at

    comments
    ├── id, content
    ├── post_id (FK → posts), user_id (FK → users)
    └── created_at

    tags
    └── id, name

    post_tags
    ├── post_id (FK → posts)
    └── tag_id (FK → tags)

    post_likes
    ├── id
    ├── post_id (FK → posts), user_id (FK → users)
    └── created_at


    화면 구성

    페이지경로
    게시글 목록/board
    게시글 상세/board/{id}
    게시글 작성/board/write
    로그인/auth/login
    회원가입/auth/join
    마이페이지/user/mypage

    GitHub

    https://github.com/heo-hyuk/board-project

===== board-project 배포 명령어 정리 =====

===== DB 정보 =====
host: localhost
port: 3306
user: root
password: 1234
database: board_db

로컬에서                                                                                                                                    
git add .                                                                                                                                   
git commit -m "수정 내용"                                                                                                                   
git push                     

깃 업데이트 내용 서버에 올리고 실행
cd ~/board-project && git pull && mvn package -DskipTests                                                                                                                                               
pkill -f 'java -jar'
nohup java -jar target/board-project-0.0.1-SNAPSHOT.jar > ~/board-project/app.log 2>&1 &  

[ 접속 주소 ]
http://43.201.55.31:8080

이제부터 코드 수정하고 배포하는 순서    

종료 : pkill -f 'java -jar' 

0개의 댓글