[Project - Spring Framework] Automatic Shift Scheduling Program

[Placeholder Logo]

logo



๐Ÿ”Ž ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๊ต๋Œ€๊ทผ๋ฌด์ž๋“ค์—๊ฒŒ ์ตœ์ ์˜ ๊ทผ๋ฌด์ผ์ •์„ ์ œ๊ณตํ•˜๊ณ , ์ ์ ˆํ•œ ๊ทผ๋ฌด์ผ์ •์„ ํšจ์œจ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ

์ผ๋ถ€ ํšŒ์‚ฌ์—์„œ๋Š” ๊ด€๋ฆฌ์ž ๋˜๋Š” ์‹œ๋‹ˆ์–ด ์ง์›์ด ์ „์ฒด ๋ถ€์„œ์›๋“ค์˜ ๊ต๋Œ€๊ทผ๋ฌด ์ผ์ •์„ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์‚ฌ๋žŒ์ด ์ง์ ‘ ๊ณ ๋ฏผํ•˜์—ฌ ์ž‘์„ฑํ•œ ๊ทผ๋ฌด์ผ์ •์€ ๋ชจ๋“  ๋ถ€์„œ์›์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ•˜์—ฌ ๋ฐ˜๋ณต์ ์ธ ์ˆ˜์ •์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.
์ด๋กœ ์ธํ•ด, ๊ทผ๋ฌด์ผ์ • ๊ด€๋ฆฌ์ž๊ฐ€ ํ•ด๋‹น ์ž‘์—…์— ํ• ์• ํ•˜๋Š” ์‹œ๊ฐ„๊ณผ ์ŠคํŠธ๋ ˆ์Šค๊ฐ€ ์ƒ๋‹นํžˆ ๋†’์€ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์ธ ๊ทผ๋ฌด์ผ์ • ๊ทœ์น™๊ณผ ๋ถ€์„œ์›๋“ค์˜ ๋‹ค์–‘ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜์—ฌ ๊ทผ๋ฌด์ผ์ •์„ ์ž๋™ ์ƒ์„ฑํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•˜์—ฌ ๊ทผ๋ฌด์ผ์ • ์ƒ์„ฑ ์ž‘์—…์˜ ํšจ์œจ์„ฑ ๋ฐ ์ง์› ๋งŒ์กฑ๋„๋ฅผ ๋†’์ด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿƒโ€โ™‚๏ธ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„

  • ์ „์ฒด ๊ฐœ๋ฐœ๊ธฐ๊ฐ„: 2024.07.08 - ํ˜„์žฌ (์ง„ํ–‰ ์ค‘)

๐Ÿ“ ERD

9 Tables

๐Ÿ“Œ ์ „์ฒด ๊ตฌ์กฐ

ERD_์ „์ฒด๊ตฌ์กฐ

๐Ÿ“Œ ์ƒ์„ธ ๊ตฌ์กฐ

ERD_์ƒ์„ธ๊ตฌ์กฐ

โš™ ๊ธฐ์ˆ  ์Šคํƒ



๐Ÿ”ฎ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ํšŒ์›๊ฐ€์ž…
  • ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ
  • ๊ทผ๋ฌด์ผ์ • ์กฐํšŒ
  • ๊ฒŒ์‹œํŒ
    • ๊ณต์ง€์‚ฌํ•ญ
    • ๊ทผ๋ฌด์ผ์ • ์‹ ์ฒญ
    • ๊ทผ๋ฌด์ผ์ • ๋ณ€๊ฒฝ
  • ๊ด€๋ฆฌ์ž
    • ๊ทผ๋ฌด์ผ์ • ์ƒ์„ฑ
    • ๊ทผ๋ฌด์ผ์ • ์„ค์ •

๐Ÿ— Project Structure

schd
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ pom.xml
โ”œโ”€โ”€ schd.iml
โ”œโ”€โ”€ src
โ”‚   โ”œโ”€โ”€ main
โ”‚   โ”‚   โ”œโ”€โ”€ java
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ com
โ”‚   โ”‚   โ”‚       โ””โ”€โ”€ schedule
โ”‚   โ”‚   โ”‚           โ”œโ”€โ”€ common
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ exception
โ”‚   โ”‚   โ”‚           โ”‚   โ”‚   โ””โ”€โ”€ GlobalExceptionHandler.java
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ message
โ”‚   โ”‚   โ”‚           โ”‚   โ””โ”€โ”€ validation
โ”‚   โ”‚   โ”‚           โ”‚       โ”œโ”€โ”€ ValidationGroups.java
โ”‚   โ”‚   โ”‚           โ”‚       โ””โ”€โ”€ ValidationSequence.java
โ”‚   โ”‚   โ”‚           โ”œโ”€โ”€ config
โ”‚   โ”‚   โ”‚           โ”‚   โ””โ”€โ”€ SecurityConfig.java
โ”‚   โ”‚   โ”‚           โ”œโ”€โ”€ controller
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ FindIdPwdController.java
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ LoginController.java
โ”‚   โ”‚   โ”‚           โ”‚   โ””โ”€โ”€ SignUpController.java
โ”‚   โ”‚   โ”‚           โ”œโ”€โ”€ dao
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ StaffDao.java
โ”‚   โ”‚   โ”‚           โ”‚   โ””โ”€โ”€ StaffDaoImpl.java
โ”‚   โ”‚   โ”‚           โ”œโ”€โ”€ dto
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ BoardDto.java
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ CommonCodeDto.java
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ CommonCodeTypeDto.java
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ DutyExchReqDto.java
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ DutyExchReqHistDto.java
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ ShiftSchdArchDto.java
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ ShiftSchdDto.java
โ”‚   โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ StaffDto.java
โ”‚   โ”‚   โ”‚           โ”‚   โ””โ”€โ”€ StaffInfoChgHistDto.java
โ”‚   โ”‚   โ”‚           โ””โ”€โ”€ service
โ”‚   โ”‚   โ”‚               โ”œโ”€โ”€ StaffService.java
โ”‚   โ”‚   โ”‚               โ”œโ”€โ”€ StaffServiceImpl.java
โ”‚   โ”‚   โ”‚               โ””โ”€โ”€ mail
โ”‚   โ”‚   โ”‚                   โ”œโ”€โ”€ MailHandler.java
โ”‚   โ”‚   โ”‚                   โ”œโ”€โ”€ MailSender.java
โ”‚   โ”‚   โ”‚                   โ”œโ”€โ”€ MailService.java
โ”‚   โ”‚   โ”‚                   โ”œโ”€โ”€ MockMailSender.java
โ”‚   โ”‚   โ”‚                   โ””โ”€โ”€ TempKey.java
โ”‚   โ”‚   โ”œโ”€โ”€ resources
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ application.properties
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ mapper
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ StaffInfoChgHistMapper.xml
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ StaffMapper.xml
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ mybatis-config.xml
โ”‚   โ”‚   โ””โ”€โ”€ webapp
โ”‚   โ”‚       โ”œโ”€โ”€ WEB-INF
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ spring
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ appServlet
โ”‚   โ”‚       โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ servlet-context.xml
โ”‚   โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ root-context.xml
โ”‚   โ”‚       โ”‚   โ”œโ”€โ”€ views
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ findIdPwd.jsp
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ identityVerification.jsp
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ index.jsp
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ login.jsp
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ main.jsp
โ”‚   โ”‚       โ”‚   โ”‚   โ”œโ”€โ”€ modifyPwd.jsp
โ”‚   โ”‚       โ”‚   โ”‚   โ””โ”€โ”€ register.jsp
โ”‚   โ”‚       โ”‚   โ””โ”€โ”€ web.xml
โ”‚   โ”‚       โ””โ”€โ”€ resources
โ”‚   โ”‚           โ”œโ”€โ”€ css
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ findIdPwd.css
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ identityVerification.css
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ index.css
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ login.css
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ main.css
โ”‚   โ”‚           โ”‚   โ”œโ”€โ”€ modifyPwd.css
โ”‚   โ”‚           โ”‚   โ””โ”€โ”€ register.css
โ”‚   โ”‚           โ”œโ”€โ”€ img
โ”‚   โ”‚           โ””โ”€โ”€ js
โ”‚   โ”‚               โ”œโ”€โ”€ findIdPwd.js
โ”‚   โ”‚               โ”œโ”€โ”€ identityVerification.js
โ”‚   โ”‚               โ”œโ”€โ”€ login.js
โ”‚   โ”‚               โ”œโ”€โ”€ main.js
โ”‚   โ”‚               โ””โ”€โ”€ register.js
โ”‚   โ””โ”€โ”€ test
โ”‚       โ””โ”€โ”€ java
โ”‚           โ””โ”€โ”€ com
โ”‚               โ””โ”€โ”€ schedule
โ”‚                   โ”œโ”€โ”€ dao
โ”‚                   โ”‚   โ””โ”€โ”€ StaffDaoTest.java
โ”‚                   โ””โ”€โ”€ service
โ”‚                       โ””โ”€โ”€ StaffServiceImplTest.java

๐Ÿ“„ Commit Message Convention

๊ทœ์น™

- ์ œ๋ชฉ ์ฒซ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž ์‚ฌ์šฉ
- ์ œ๋ชฉ ๋งˆ์นจํ‘œ ๋ฏธํฌํ•จ
- ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์€ ๋นˆ ํ–‰์œผ๋กœ ๊ตฌ๋ถ„
- ์ œ๋ชฉ ๋ช…๋ น๋ฌธ์œผ๋กœ ์ž‘์„ฑ
- ์ œ๋ชฉ 50์ž ์ด๋‚ด๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑ

์œ ํ˜•

Feat        :     ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
Test        :     ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์™„๋ฃŒ
Docs        :     ๋ฌธ์„œ ์ถ”๊ฐ€ ๋˜๋Š” ์ˆ˜์ • (ex. README ๋ณ€๊ฒฝ)
Chore       :     ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €(ex. gitignore ์ˆ˜์ •), ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ • 
Refactor    :     ๋ฆฌํŒฉํ† ๋ง, ์ฝ”๋“œ ๊ฐœ์„ 
Fix         :     ๋ฒ„๊ทธ ์ˆ˜์ •
Style       :     ์ฝ”๋“œ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ (ํฌ๋งทํŒ…, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ ๋“ฑ ์ฝ”๋“œ ๋ณ€๊ฒฝ์ด ์—†๋Š” ๊ฒฝ์šฐ)
Comment     :     ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ์ˆ˜์ •
Rename      :     ํŒŒ์ผ ๋˜๋Š” ํด๋”๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ด๋™ํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ
Remove      :     ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ
Conflict    :     ํ•ฉ๋ณ‘ ์‹œ ๋ฐœ์ƒํ•œ ์ถฉ๋Œ ์ˆ˜์ •