Spring Bootμ JPAλ₯Ό νμ©νμ¬ κ°λ¨ν SNS κΈ°λ₯μ ꡬνν νλ‘μ νΈμ λλ€.
- λͺ©μ :
- λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§ μ€κ³λ₯Ό ν΅ν΄ μ 체 ꡬ쑰λ₯Ό μ§νν μ μλ€.
- JPAλ₯Ό μ΄μ©νμ¬ λ°μ΄ν°λ² μ΄μ€μ μ°λνκ³ , CRUD μμ μ μνν μ μλ€.
- μ¬μ©μ μΈμ¦κ³Ό μΈκ°μ κΈ°λ³Έ μ리μ μ°¨μ΄μ μ μ΄ν΄νκ³ μ§νν μ μλ€.
- κΈ°λ₯μ λ§λ REST API μ€κ³λ₯Ό νκ³ , Spring Bootλ₯Ό μ΄μ©νμ¬ REST APIλ₯Ό ꡬνν μ μλ€.
- Gitμ μ¬μ©νμ¬ μμ€ μ½λ λ²μ κ΄λ¦¬λ₯Ό νκ³ , Git branchλ₯Ό μ΄μ©νμ¬ λΈλμΉ κ΄λ¦¬ λ° μνν νμ μ μνν μ μλ€.
- Pull Requestμ μ½λ 리뷰 κ³Όμ μ λν΄ μ΄ν΄νκ³ μ μ©ν μ μλ€.
src
βββ main
βββ java
β βββ com
β βββ example
β βββ simplens
β βββ common
β β βββ config
β β βββ consts
β β βββ dto
β β βββ filter
β βββ domain
β β βββ comment
β β βββ friend
β β βββ post
β β βββ user
β βββ exception
β βββ code
β βββ custom
β βββ dto
β βββ handler
βββ resources
β βββ application.properties
βββ SimpleSnsApplication.java
build.gradle
README.md
π API λͺ μΈμ λ°λ‘κ°κΈ°
- νλ‘ν μ‘°ν κΈ°λ₯
- λ€λ₯Έ μ¬μ©μμ νλ‘νμ μ‘°νν μ μμ΅λλ€.
- μ‘°ν μ λ―Όκ°ν μ 보(
password)λ νμλμ§ μμ΅λλ€. - νμ λͺ©λ‘μ μ‘°νν μ μμ΅λλ€. (Pagination)
- νλ‘ν μμ κΈ°λ₯
- λ‘κ·ΈμΈν μ¬μ©μκ° λ³ΈμΈμ νλ‘νμ μμ ν μ μμ΅λλ€.
- λΉλ°λ²νΈ μμ κΈ°λ₯
- λ‘κ·ΈμΈν μ¬μ©μ λ³ΈμΈμ λΉλ°λ²νΈλ§ μμ ν μ μμ΅λλ€.
- λΉλ°λ²νΈ μμ μ, λ³ΈμΈ νμΈμ μν΄ νμ¬ λΉλ°λ²νΈλ₯Ό μ λ ₯νμ¬ μ¬λ°λ₯Έ κ²½μ°μλ§ μμ ν μ μμ΅λλ€.
- νμ¬ λΉλ°λ²νΈμ λμΌν λΉλ°λ²νΈλ‘λ λ³κ²½ν μ μμ΅λλ€.
- κ²μλ¬Ό μμ±, μ‘°ν, μμ , μμ κΈ°λ₯
- κ²μλ¬Ό μμ , μμ λ μμ±μ λ³ΈμΈλ§ μ²λ¦¬ν μ μμ΅λλ€.
- λ΄μ€νΌλ λͺ©λ‘ μ‘°ν κΈ°λ₯
- κΈ°λ³Έ μ λ ¬μ μμ±μΌμ κΈ°μ€μΌλ‘ λ΄λ¦Όμ°¨μ μ λ ¬ν©λλ€.
- 10κ°μ© νμ΄μ§λ€μ΄μ νμ¬, κ° νμ΄μ§ λΉ λ΄μ€νΌλ λ°μ΄ν°κ° 10κ°μ© λμ€κ² ν©λλ€.
- νμκ°μ
κΈ°λ₯
- μ¬μ©μ μμ΄λ
- μ¬μ©μ μμ΄λλ μ΄λ©μΌ νμμ΄μ΄μΌ ν©λλ€.
- μ΄λ©μΌμ΄ μ€λ³΅λλ©΄ κ°μ ν μ μμ΅λλ€.
- λΉλ°λ²νΈ
Bcryptλ‘ μΈμ½λ©ν©λλ€.- λΉλ°λ²νΈλ μ΅μ 5κΈμ μ΄μ, 15κΈμ μ΄νμ λλ€.
- μ¬μ©μ μμ΄λ
- νμνν΄ κΈ°λ₯
- νν΄ μ²λ¦¬ μ λΉλ°λ²νΈλ₯Ό νμΈν ν μΌμΉν λ νν΄ μ²λ¦¬ν©λλ€.
- νν΄ν μ¬μ©μμ μμ΄λλ μ¬μ¬μ©ν μ μμ΅λλ€.
- νμ νν΄μ μ μ λ°μ΄ν°λ λ Όλ¦¬μμ (Soft Delete)λ₯Ό μ μ©ν©λλ€.
- λ‘κ·ΈμΈ/λ‘κ·Έμμ κΈ°λ₯
- μ¬μ©μ μ΄λ©μΌκ³Ό λΉλ°λ²νΈλ‘ λ‘κ·ΈμΈν©λλ€.
- μΉκ΅¬ μμ²/μμ κΈ°λ₯
- νΉμ μ¬μ©μλ₯Ό μΉκ΅¬λ‘ μμ²/μμ ν μ μμ΅λλ€.
- μΉκ΅¬ λͺ©λ‘ μ‘°ν κΈ°λ₯
- μΉκ΅¬ μμ²μ λ°μ μ¬μ©μκ° μΉκ΅¬ μμ² λͺ©λ‘μ μ‘°νν μ μμ΅λλ€.
- μΉκ΅¬ μμ²μ μλ½νλ©΄, μΉκ΅¬ λͺ©λ‘ μ‘°νμ μΉκ΅¬κ° λ μ¬μ©μλ₯Ό μ‘°νν μ μμ΅λλ€.
- μΉκ΅¬ λ΄μ€νΌλ κ²μλ¬Ό μ‘°ν κΈ°λ₯
- μΉκ΅¬μ μ΅μ κ²μλ¬Όλ€μ μ΅μ μμΌλ‘ λ³Ό μ μμ΅λλ€. (Pagination)
- λκΈ μμ±, μ‘°ν, μμ , μμ κΈ°λ₯
- μ¬μ©μλ κ²μλ¬Όμ λκΈμ μμ±ν μ μκ³ , λ³ΈμΈμ λκΈμ μμ λ° μμ λ₯Ό ν μ μμ΅λλ€.
- λκΈ λͺ©λ‘ μ‘°ν κΈ°λ₯
- νΉμ κ²μλ¬Όμ λ¬λ¦° λκΈ λͺ©λ‘μ μ‘°νν μ μμ΅λλ€. (Pagination)
- κ²μλ¬Ό λ° λκΈ μ’μμ / μ’μμ μ·¨μ κΈ°λ₯
- μ¬μ©μκ° κ²μλ¬Όμ΄λ λκΈμ μ’μμλ₯Ό λ¨κΈ°κ±°λ μ·¨μν μ μμ΅λλ€.
- λ³ΈμΈμ΄ μμ±ν κ²μλ¬Όκ³Ό λκΈμ μ’μμλ₯Ό λ¨κΈΈ μ μμ΅λλ€.
- κ°μ κ²μλ¬Όμλ μ¬μ©μλΉ ν λ²λ§ μ’μμκ° κ°λ₯ν©λλ€.
- Language: Java
- Framework: Spring Boot
- Database: MySQL
- ORM: JPA
- Version Control: GitHub
Created by
@daylikezero
@mannaKim
@2024122601
@Park-EJ
@wjdgus2319








