๋ฐฐํฌ: https://kiwee.dev/
- Google, GitHub ๊ณ์ ์ผ๋ก OAuth์ธ์ฆ์ ํตํด ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
- NextAuth๋ฅผ ์ด์ฉํด OAuth ์ธ์ฆ์ ํ๊ณ JWT์ ๋ฐ๊ธ ๋ฐ์ ์๋ฒ์ ํต์ ํฉ๋๋ค.
- ๊ฒ์๋ฌผ ํด๋ฆญ ์ ์ฝ์ ๊ธ๋ก ๋ฑ๋ก ๋ฉ๋๋ค.
- ์ฝ์ ๊ฒ์๋ฌผ์ ํ๋กํ ํ์ด์ง์ ์ฝ์ ๊ธ ํญ๋ชฉ์์ ํ์ธํ ์ ์์ต๋๋ค.
- ์ข์์ ๋ฐ ๋ถ๋งํฌ๋ฅผ ํ ์ ์์ต๋๋ค.
- ์ข์์ ๊ฒ์๋ฌผ์ ํ๋กํ ํ์ด์ง, ๋ถ๋งํฌ ๊ฒ์๋ฌผ์ ๋ถ๋งํฌ ํ์ด์ง์์ ํ์ธํ ์ ์์ต๋๋ค.
- ์ค์ ํญ์์ ๋คํฌ๋ชจ๋๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
- ์ค์ ํญ์์ ์๋ก์ด ํญ ์ด๊ธฐ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
- ์๋ก์ด ํญ ์ด๊ธฐ ์ค์ ์ ๊ฒ์๋ฌผ์ด ์๋ก์ด ํญ์ผ๋ก ์ด๋ฆฝ๋๋ค.
- ํ์ฌ ๊ตฌ๋ ์ค์ธ IT๊ธฐ์ ๋ธ๋ก๊ทธ์ ์ต์ ๊ฒ์๋ฌผ์ ๋ณด์ฌ์ค๋๋ค.
- ๋ฌดํ ์คํฌ๋กค์ ์ฌ์ฉํด ํ์ด์ง ์ฒ๋ฆฌ๋ฅผ ํ์ต๋๋ค.
- ๋ฐฉ๋ฌธํ ๊ฒ์๋ฌผ ๋ชฉ๋ก๊ณผ ์ข์์ํ ๊ฒ์๋ฌผ์ ๋ณด์ฌ์ค๋๋ค.
- ๋ฉ์ธ ํ์ด์ง์ ๊ฐ์ด ๋ฌดํ ์คํฌ๋กค์ด ๊ตฌํ๋์ด ์์ต๋๋ค.
- ๋ถ๋งํฌํ ๊ฒ์๋ฌผ์ ๋ณด์ฌ์ค๋๋ค.
- ๋ฉ์ธ ํ์ด์ง์ ๊ฐ์ด ๋ฌดํ ์คํฌ๋กค์ด ๊ตฌํ๋์ด ์์ต๋๋ค.
- ํ์ฌ kiwee.dev๊ฐ ๊ตฌ๋ ์ค์ธ IT๊ธฐ์ ๋ธ๋ก๊ทธ์ ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋๋ค.
- ๋ธ๋ก๊ทธ ํด๋ฆญ ์ ํด๋น ๋ธ๋ก๊ทธ๋ก ์ด๋ํฉ๋๋ค.
Meeting | Pull Requests |
---|---|
๋งค์ฃผ 1~2ํ ํ์ํ์ ํตํด ๋น๋๋ฉด ํ๋ก์ ํธ ์งํ | PR ํ
ํ๋ฆฟ๊ณผ 2๋ช
์ด์์ approve๊ฐ ์์ด์ผ merge ๊ฐ๋ฅ |
- Common: Typescript
- Client: React.js, Next.js, Redux, Styled-components, SWR
- Server: Node.js, Express, MongoDB Atlas
- Deployment: Google Cloud
"dependencies": {
"axios": "^0.21.1",
"dayjs": "^1.10.4",
"next": "^10.2.2",
"next-auth": "^3.21.1",
"react": "^17.0.2",
"react-content-loader": "^6.0.3",
"react-dom": "^17.0.2",
"styled-components": "^5.2.3",
"styled-reset": "^4.3.4",
"swr": "^0.5.5"
},
"devDependencies": {
"@babel/core": "^7.13.16",
"@types/next-auth": "^3.15.0",
"@types/node": "^14.14.41",
"@types/react": "^17.0.3",
"@types/styled-components": "^5.1.9",
"@typescript-eslint/eslint-plugin": "^4.22.0",
"@typescript-eslint/parser": "^4.22.0",
"babel-loader": "^8.2.2",
"babel-plugin-inline-react-svg": "^2.0.1",
"babel-plugin-styled-components": "^1.12.0",
"eslint": "^7.24.0",
"eslint-config-prettier": "^8.2.0",
"eslint-plugin-react": "^7.23.2",
"mongodb": "^3.6.6",
"ts-loader": "^9.1.1",
"ts-node": "^9.1.1",
"typescript": "^4.2.4"
}
"dependencies": {
"@types/cors": "^2.8.10",
"axios": "^0.21.1",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"mongoose": "^5.12.5",
"mongoose-paginate-v2": "^1.3.17",
"swagger-jsdoc": "6.0.0",
"swagger-ui-express": "^4.1.6",
"uuid": "^8.3.2"
}
"devDependencies": {
"@types/express": "^4.17.11",
"@types/mongoose": "^5.10.5",
"@types/mongoose-paginate-v2": "^1.3.9",
"@types/node": "^14.14.41",
"@types/swagger-jsdoc": "^6.0.0",
"@types/swagger-ui-express": "^4.1.2",
"@types/uuid": "^8.3.0",
"nodemon": "^2.0.7",
"ts-node": "^9.1.1",
"typescript": "^4.2.4"
}