Spring Boot & React를 활용해서 게시판 구현을 연습하는 프로젝트입니다.
kelly6bf / board-training--backend Goto Github PK
View Code? Open in Web Editor NEWSpring Boot & React를 활용한 게시판 구현 연습 프로젝트 - Backend
Spring Boot & React를 활용한 게시판 구현 연습 프로젝트 - Backend
API 입력 값 검증을 구현합니다.
사용자가 게시판 & 게시글 생성시 입력한 해시태그의 순서가 유지되도록 리팩토링한다.
게시글에 대해 검색 & 정렬 & 페이징 할 수 있는 기능들을 구현한다. 추가로 게시판 도메인의 컨트롤러를 추가한다.
게시판 도메인이 추가되었기때문에 게시글 도메인을 리팩토링한다.
이미지를 업로드 하는 API를 구현한다. 현재는 메모리에 테스트하므로 추상화를 활용한다.
게시판 & 게시글 & 댓글에 회원들이 반응을 남길 수 있는 기능을 구현한다.
현재는 좋아요 & 싫어요 두 가지 반응만 추가한다.
프로젝트에 필요한 초기 설계를 문서화한다.
설계한 서비스 ERD를 참고하여 Entity Class를 생성한다.
인증 도메인의 예외 처리 로직과 응답 구조를 개선한다.
Board Entity가 추가되면서 ERD가 변경되었다. 변경된 부분을 코드에 반영한다.
게시글의 생성/수정/삭제/조회 기능을 개발한다.
게시글 조회 시 해당 게시글의 댓글 수가 포함되도록 리팩토링합니다.
사용자가 커스텀하게 게시판을 생성할 수 있는 기능을 추가해달라는 요구사항이 들어와 이를 반영합니다.
게시글의 댓글 기능을 구현한다.
키워드 + 해시태그 복합 검색 기능을 추가합니다.
현재는 지식의 한계로 기존 계획한 좋아요 & 댓글 순 정렬을 구현하기에 어려움이 있습니다. 따라서 현재 피처에서는 최신순 정렬로 고정하고 향 후 게시판 고도화 마일스톤에서 동적 정렬 기능을 추가합니다.
회원 시스템을 위해 사용자 인증 기능을 구현한다
게시판 & 게시글 Repository의 불필요한 로직을 제거한다.
Spring Data JPA로 Entity를 다룰 때, 엔티티 데이터는 하이버네이트 구현체가 만든 프록시 객체를 이용하여 지연 로딩될 수 있다.
따라서 엔티티를 조회할 때 필드에 직접 접근하면 id == null 인 상황이 있을 수 있고, 이러면 올바른 비교를 하지 못 하게 된다.
getter를 사용하면 이러한 문제를 예방할 수 있다.
게시글 생성시 썸네일을 지정할 수 있고 또 변경할 수 있도록 기능을 추가한다.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.