SOPT 30th APPJAM
✨ 이벤트 등록
함께하는 일 혹은 룸메이트들이 알면 좋을 자신의 일정을 이벤트로 등록해 서로의 생활을 공유할 수 있도록 하며 당일 알림을 통해 잊지 않고 기억하게 해줌.
✨ 규칙 등록
공동 생활에 필요한 규칙을 등록하고 카테고리별 분류를 통해 쉽게 확인하도록 함. 설정한 담당자와 요일에 따라 알림을 받고 규칙을 지켰는지 체크할 수 있음.
✨ 성향 테스트
하루의 상황과 질문을 제시해 응답을 통해 생활 성향을 확인함. 그래프와 성향 카드를 통해 테스트 결과를 한 눈에 볼 수 있도록 하며, 이는 룸메이트간 서로에 대한 이해를 도움.
📦src
┣ 📂config
┃ ┣ 📜logger.ts
┃ ┗ 📜index.ts
┣ 📂controller
┃ ┣ 📜AuthController.ts
┃ ┣ 📜EventController.ts
┃ ┣ 📜RoomController.ts
┃ ┣ 📜RuleController.ts
┃ ┣ 📜TypeController.ts
┃ ┣ 📜UserController.ts
┃ ┗ 📜index.ts
┣ 📂errors
┃ ┣ 📜errorGenerator.ts
┃ ┗ 📜generalErrorHandler.ts
┣ 📂interface
┃ ┣ 📂auth
┃ ┣ 📂check
┃ ┣ 📂common
┃ ┣ 📂event
┃ ┣ 📂room
┃ ┣ 📂rule
┃ ┣ 📂ruleCategory
┃ ┣ 📂type
┃ ┗ 📂user
┣ 📂loaders
┃ ┗ 📜db.ts
┣ 📂middleware
┃ ┣ 📜auth.ts
┃ ┗ 📜slackAlarm.ts
┣ 📂models
┃ ┣ 📜Check.ts
┃ ┣ 📜Event.ts
┃ ┣ 📜Room.ts
┃ ┣ 📜Rule.ts
┃ ┣ 📜RuleCategory.ts
┃ ┣ 📜Type.ts
┃ ┣ 📜TypeTest.ts
┃ ┗ 📜User.ts
┣ 📂modules
┃ ┣ 📜checkIconType.ts
┃ ┣ 📜checkObjectIdValidation.ts
┃ ┣ 📜checkValidUtils.ts
┃ ┣ 📜iconType.ts
┃ ┣ 📜jwtHandler.ts
┃ ┣ 📜limitNum.ts
┃ ┣ 📜responseMessage.ts
┃ ┣ 📜statusCode.ts
┃ ┗ 📜util.ts
┣ 📂routes
┃ ┣ 📜AuthRouter.ts
┃ ┣ 📜RoomRouter.ts
┃ ┣ 📜TypeRouter.ts
┃ ┣ 📜UserRouter.ts
┃ ┗ 📜index.ts
┣ 📂service
┃ ┣ 📂auth
┃ ┃ ┗ 📜AuthService.ts
┃ ┣ 📂event
┃ ┃ ┣ 📜EventRetrieveService.ts
┃ ┃ ┣ 📜EventService.ts
┃ ┃ ┗ 📜EventServiceUtils.ts
┃ ┣ 📂room
┃ ┃ ┣ 📜RoomRetrieveService.ts
┃ ┃ ┣ 📜RoomService.ts
┃ ┃ ┗ 📜RoomServiceUtils.ts
┃ ┣ 📂rule
┃ ┃ ┣ 📜RuleRetrieveService.ts
┃ ┃ ┣ 📜RuleService.ts
┃ ┃ ┗ 📜RuleServiceUtils.ts
┃ ┣ 📂type
┃ ┃ ┣ 📜TypeRetrieveService.ts
┃ ┃ ┗ 📜TypeServiceUtils.ts
┃ ┣ 📂user
┃ ┃ ┣ 📜UserRetrieveService.ts
┃ ┃ ┣ 📜UserService.ts
┃ ┃ ┗ 📜UserServiceUtils.ts
┃ ┗ 📜index.ts
┣ 📜swagger.ts
┣ 📜index.ts
┃
📦test
┣ 📜AuthService.spec.ts
┣ 📜EventRetrieveService.spec.ts
┣ 📜EventService.spec.ts
┣ 📜RoomRetrieveService.spec.ts
┣ 📜RoomService.spec.ts
┣ 📜RuleRetrieveService.spec.ts
┣ 📜RuleService.spec.ts
┣ 📜TypeRetrieveService.spec.ts
┣ 📜UserRetrieveService.spec.ts
┣ 📜UserService.spec.ts
┗ 📜index.spec.ts
제목 |
내용 |
feat |
새로운 기능 추가 |
fix |
자잘한 수정 |
bugfix |
버그 수정 |
chore |
config 및 라이브러리, 빌드 관련 파일 수정 (프로덕션 코드 수정 x) |
docs |
문서 수정 |
refactor |
코드 리팩토링 시에만 사용 |
test |
테스트 코드 작성 |
rename |
파일명, 변수명 수정 |
comment |
주석 추가 및 수정 |
remove |
기능 삭제 및 파일 삭제 |
Router |
method |
end point |
description |
담당자 |
auth |
POST |
/auth/signup |
회원가입 |
공혁준 |
|
POST |
/auth/login |
로그인 |
공혁준 |
room |
GET |
/room |
들어간 방 id 조회하기 |
공혁준 |
|
POST |
/room |
방 생성하기 |
공혁준 |
|
GET |
/room/in?roomCode= |
방 입장하기 초대코드 입력 시 |
공혁준 |
|
POST |
/room/:roomId/in |
방 입장하기 |
공혁준 |
|
DELETE |
/room/:roomId/out |
방 퇴사하기 |
공혁준 |
|
GET |
/room/:roomId/home |
홈화면 조회하기 |
김혜정 |
|
POST |
/room/:roomId/event |
이벤트 추가하기 |
김혜정 |
|
GET |
/room/:roomId/event/:eventId |
이벤트 조회하기 |
김혜정 |
|
PUT |
/room/:roomId/event/:eventId |
이벤트 수정하기 |
김혜정 |
|
DELETE |
/room/:roomId/event/:eventId |
이벤트 삭제하기 |
김혜정 |
|
GET |
/room/:roomId/rules |
규칙 홈화면 조회하기 (오늘의 to-do) |
김혜정 |
|
GET |
/room/:roomId/rules/me |
규칙 홈화면 조회하기 (나의 to-do) |
공혁준 |
|
PUT |
/room/:roomId/rule/:ruleId/check |
오늘 나의 to-do 체크 상태 변경하기 |
손연주 |
|
GET |
/room/:roomId/rule/:ruleId/today |
오늘의 임시 담당자 설정 시 룸메이트 리스트 조회하기 |
손연주 |
|
PUT |
/room/:roomId/rule/:ruleId/today |
오늘의 임시 담당자 설정하기 |
손연주 |
|
POST |
/room/:roomId/rules/category |
규칙 카테고리 추가하기 |
손연주 |
|
PUT |
/room/:roomId/rules/category/:categoryId |
규칙 카테고리 수정하기 |
손연주 |
|
DELETE |
/room/:roomId/rules/category/:categoryId |
규칙 카테고리 삭제하기 (카테고리 삭제 시 안에 규칙들 다 삭제) |
손연주 |
|
GET |
/room/:roomId/rule/new |
규칙 생성 시 조회 (규칙 카테고리 리스트, 참여자 리스트) |
손연주 |
|
GET |
/room/:roomId/category/:categoryId/rule |
카테고리 별 규칙리스트 조회 |
손연주 |
|
POST |
/room/:roomId/rule |
규칙 1개 추가하기 |
공혁준 |
|
GET |
/room/:roomId/rule/:ruleId |
규칙 1개 조회하기 |
공혁준 |
|
PUT |
/room/:roomId/rule/:ruleId |
규칙 1개 수정하기 |
공혁준 |
|
DELETE |
/room/:roomId/rule/:ruleId |
규칙 1개 삭제하기 |
공혁준 |
user |
GET |
/user/profile |
프로필 홈화면 조회하기 |
김혜정 |
|
GET |
/user/profile/me |
나의 프로필 수정 시 정보 조회하기 |
김혜정 |
|
PUT |
/user/profile/me |
나의 프로필 수정하기 |
김혜정 |
|
GET |
/user/me/type |
성향 상세 조회하기 - 나 (자세히 보기 버튼) |
손연주 |
|
DELETE |
/user |
탈퇴하기 |
김혜정 |
|
GET |
/user/setting |
설정 조회하기 |
손연주 |
|
PUT |
/user/setting/notification |
알림 여부 수정하기 |
손연주 |
|
GET |
/user/:homieId |
룸메이트 조회하기 |
김혜정 |
|
GET |
/user/:userId/type |
성향 상세 조회하기 - 룸메이트 (자세히 보기 버튼) |
손연주 |
|
PUT |
/user/type/test |
성향 테스트 점수 등록 및 수정 |
김혜정 |
type |
GET |
/type/test |
성향 테스트 문제 조회 |
손연주 |
"devDependencies": {
"@types/bcryptjs": "^2.4.2",
"@types/express": "^4.17.13",
"@types/jsonwebtoken": "^8.5.8",
"@types/mocha": "^9.1.1",
"@types/mongoose": "^5.11.97",
"@types/morgan": "^1.9.3",
"@types/node": "^18.0.3",
"@types/swagger-ui-express": "^4.1.3",
"@types/winston": "^2.4.4",
"eslint": "^8.18.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-prettier": "^4.1.0",
"husky": "^8.0.1",
"nodemon": "^2.0.15",
"ts-node": "^10.8.2",
"typescript": "^4.7.4"
},
"dependencies": {
"@types/swagger-jsdoc": "^6.0.1",
"axios": "^0.27.2",
"bcryptjs": "^2.4.3",
"chai": "^4.3.6",
"dayjs": "^1.11.3",
"dotenv": "^16.0.0",
"express": "^4.17.3",
"express-validator": "^6.14.0",
"jsonwebtoken": "^8.5.1",
"mocha": "^10.0.0",
"mongoose": "^6.3.1",
"morgan": "^1.10.0",
"supertest": "^6.2.4",
"swagger-autogen": "^2.21.5",
"swagger-jsdoc": "^6.2.1",
"swagger-ui-express": "^4.4.0",
"winston": "^3.8.1",
"winston-daily-rotate-file": "^4.7.1"
}