SOPT 29th APPJAM - TEAM FILL-IN ✨
2022.01.02 ~
![](https://user-images.githubusercontent.com/54793607/148735296-5a950533-8031-43ab-bd2b-841a3c4c6914.jpg)
![](https://user-images.githubusercontent.com/54793607/150477388-7589d8f1-7a20-49d8-a3e8-0cef7a0a3392.gif)
![Architecture](https://user-images.githubusercontent.com/68213343/150557137-c10eca48-b127-4801-82d1-5427d4a64c1f.png)
func |
detail |
developer |
done |
Auth |
구글, 애플 소셜 로그인 |
세훈 |
✅ |
|
구글, 애플 소셜 회원가입 |
세훈 |
✅ |
|
refresh token을 이용한 토큰 재발급 |
세훈 |
✅ |
User |
내 정보 조회 |
세훈 |
✅ |
|
회원 탈퇴 |
세훈 |
✅ |
Studio |
전체 스튜디오 조회하기 |
수아 |
✅ |
|
스튜디오 검색하기 |
수아 |
✅ |
|
특정 스튜디오 상세 정보 조회하기 |
수아 |
✅ |
Photo |
전체 사진 조회하기 |
세훈 |
✅ |
|
최신순 사진 조회하기 |
세훈 |
✅ |
|
본인이 게시한 전체 사진 조회하기 |
호영 |
✅ |
|
특정 사진 상세 정보 조회하기 |
호영 |
✅ |
|
필름별 사진 조회하기 |
호영 |
✅ |
|
필름 종류별 사진 조회하기 |
호영 |
✅ |
|
스튜디오별 사진 조회하기 |
수아 |
✅ |
|
특정 유저별 게시된 사진 조회하기 |
수아 |
✅ |
|
사진 업로드하기 |
호영 |
✅ |
Film |
종류별 필름 조회 |
호영 |
✅ |
Curation |
특정 큐레이션 사진 조회 |
수아 |
✅ |
Like |
좋아요 추가/삭제 |
수아 |
✅ |
🦖 Our ERD & Directory Tree
🗄 FILL-IN ERD
📦 FILL-IN Directory Tree
FILL-IN
├── README.md
├── firebase.json
└── functions
├── api
│ ├── auth
│ │ ├── authPOST.js
│ │ ├── authTokenGET.js
│ │ └── index.js
│ ├── curation
│ │ ├── curationGET.js
│ │ ├── curationOneGET.js
│ │ └── index.js
│ ├── film
│ │ ├── filmStyleGET.js
│ │ └── index.js
│ ├── index.js
│ ├── like
│ │ ├── index.js
│ │ └── likePOST.js
│ ├── photo
│ │ ├── index.js
│ │ ├── photoAllGET.js
│ │ ├── photoFilmGET.js
│ │ ├── photoGET.js
│ │ ├── photoLatestGET.js
│ │ ├── photoMyGET.js
│ │ ├── photoPOST.js
│ │ ├── photoStudioGET.js
│ │ ├── photoStyleGET.js
│ │ └── photoUserGET.js
│ ├── photopaging
│ │ ├── index.js
│ │ ├── photoAllGET.js
│ │ ├── photoFilmGET.js
│ │ ├── photoStudioGET.js
│ │ ├── photoStyleGET.js
│ │ └── photoUserGET.js
│ ├── studio
│ │ ├── index.js
│ │ ├── studioNearbyGET.js
│ │ ├── studioOneGET.js
│ │ └── studioSearchGET.js
│ └── user
│ ├── index.js
│ ├── userDELETE.js
│ └── userGET.js
├── config
│ ├── dbConfig.js
│ └── firebaseClient.js
├── constants
│ ├── jwt.js
│ ├── nicknameSet.js
│ ├── responseMessage.js
│ ├── social.js
│ └── statusCode.js
├── db
│ ├── curation.js
│ ├── db.js
│ ├── film.js
│ ├── index.js
│ ├── like.js
│ ├── photo.js
│ ├── photopaging.js
│ ├── studio.js
│ └── user.js
├── index.js
├── lib
│ ├── convertSnakeToCamel.js
│ ├── jwt.js
│ ├── nicknameGenerator.js
│ ├── size.js
│ ├── social.js
│ └── util.js
├── middlewares
│ ├── auth.js
│ └── uploadImage.js
├── other
│ └── slack
│ ├── slack.js
│ └── slackAPI.js
├── package-lock.json
├── package.json
├── test
│ ├── curation
│ │ ├── curationGET.test.js
│ │ └── curationOneGET.test.js
│ ├── film
│ │ └── filmStyleGET.test.js
│ ├── like
│ │ └── likePOST.test.js
│ ├── photo
│ │ ├── photoAllGET.test.js
│ │ ├── photoFilmGET.test.js
│ │ ├── photoGET.test.js
│ │ ├── photoLatestGET.test.js
│ │ ├── photoStudioGET.test.js
│ │ ├── photoStyleGET.test.js
│ │ └── photoUserGET.test.js
│ ├── studio
│ │ ├── studioNearbyGET.test.js
│ │ ├── studioOneGET.test.js
│ │ └── studioSearchGET.test.js
│ └── user
│ └── userGET.test.js
└── ui-debug.log
{
"dependencies": {
"axios": "^0.24.0",
"busboy": "^0.3.1",
"cookie-parser": "^1.4.5",
"cors": "^2.8.5",
"cross-env": "^7.0.3",
"dayjs": "^1.10.7",
"dotenv": "^10.0.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-jest": "^25.7.0",
"express": "^4.17.1",
"firebase": "^9.5.0",
"firebase-admin": "^9.2.0",
"firebase-functions": "^3.11.0",
"helmet": "^4.6.0",
"hpp": "^0.2.3",
"jsonwebtoken": "^8.5.1",
"lodash": "^4.17.21",
"multer": "^1.4.3",
"path": "^0.12.7",
"pg": "^8.7.1",
"probe-image-size": "^7.2.2",
"supertest": "^6.2.2"
},
"devDependencies": {
"babel-eslint": "^10.1.0",
"eslint": "^7.6.0",
"eslint-config-google": "^0.14.0",
"firebase-functions-test": "^0.2.0",
"jest": "^25.1.0"
}
}