๐ŸŸ3Second-Goldfish-Frontend


์„œ๋น„์Šค๋ช…

๐Ÿ ๊ถ๊ธˆ๋ถ•์–ด
Project Period : 2021.05.22 ~ 2021.05.23

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

๐Ÿ’ก์˜ค๋Š˜ ๋ญํ–ˆ๋ถ•์–ด? ์‚ผ...์ด...์ผ..... ๋•ก!!! ์˜ค๋Š˜ ์žˆ์—ˆ๋˜ ์ผ 3์ดˆ ์•ˆ์— ๋Œ€๋‹ต ๋ชปํ•˜๋ฉด ๊ธฐ์–ต ์กฐ์ž‘!
๐Ÿ’ก์˜ค๋Š˜ ํ•˜๋ฃจ์— ๋Œ€ํ•œ ์งˆ๋ฌธ์ด ๋‚ ์•„์˜ค๋ฉด 3์ดˆ์•ˆ์— ๋Œ€๋‹ตํ•ด๋ผ!
์‹œ๊ฐ„์•ˆ์— ์ž˜ ์ž‘์„ฑํ•œ๋‹ค๋ฉด ๋‚˜๋งŒ์˜ ์ผ๊ธฐ ์™„์„ฑ๐Ÿคฉ ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๊ธฐ์–ต ์กฐ์ž‘ ์ผ๊ธฐ ํƒ„์ƒ๐Ÿ˜ฅ

๊ฐœ๋ฐœ ๋‹ด๋‹น ๋ถ€๋ถ„

๐Ÿ™Œ๊น€ํšจ์ธ

*๋ฉ”์ธ๋ทฐ ๊ตฌํ˜„
*test ๊ฒฐ๊ณผ ์ƒˆ ๊ทธ๋ฃน ์ถ”๊ฐ€ page

๐Ÿ™Œ์ด์ •์—ฐ

*test ์งˆ๋ฌธ ํŽ˜์ด์ง€ ๊ตฌํ˜„
*test ๊ฒฐ๊ณผ ๊ณต์œ  ๊ทธ๋ฆฌ๋“œ ๊ตฌํ˜„

๐Ÿ™Œ์กฐ์œค์„œ

*test ๊ฒฐ๊ณผ ํŽ˜์ด์ง€ ๊ตฌํ˜„
*test ๊ฒฐ๊ณผ ํŒ์—… ๊ตฌํ˜„

ํ”„๋กœ์ ํŠธ ๊ณผ์ •

[1] main ํŽ˜์ด์ง€์—์„œ ์‹œ์ž‘ ๋ฒ„ํŠผ๊ณผ ํ•จ๊ป˜ ์งˆ๋ฌธ์ด ์ฃผ์–ด์ง„๋‹ค.
[2] 3์ดˆ์•ˆ์— ๋‹ตํ•ด์•ผํ•˜๋ฉฐ, 3์ดˆ์•ˆ์— ๋‹ตํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด ๋žœ๋ค์œผ๋กœ ๋‹ต์ด ๋“ค์–ด๊ฐ„๋‹ค.
[3] ๋ชจ๋“  ์งˆ๋ฌธ์— ๋‹ต์„ ์ž‘์„ฑํ•˜๋ฉด ๋‚˜๋งŒ์˜ ์ผ๊ธฐ ์„ฑ๊ณต! 
[4] ๊ฒฐ๊ณผ ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฃน์— ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ƒˆ๋กœ์šด ๊ทธ๋ฃน๋„ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•˜๋‹ค.
[5] ํ•ด๋‹น ๊ทธ๋ฃน์— ๋“ค์–ด๊ฐ€๋ฉด ๊ณต์œ ํ•œ ๊ทธ๋ฆฌ๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

public
 โ”ฃ images
 โ”ƒ โ”ฃ MainLogo.png
 โ”ƒ โ”ฃ ...
 โ”ƒ โ”— img_speechbubble.svg
 โ”— favicon.ico
src
 โ”ฃ pages
 โ”ƒ โ”ฃ question
 โ”ƒ โ”ƒ โ”ฃ index.tsx
 โ”ƒ โ”ฃ AddNewGroup.js
 โ”ƒ โ”ฃ _app.tsx
 โ”ƒ โ”— result
 โ”ƒ โ”ƒ โ”ฃ index.tsx
 โ”ƒ โ”ฃ index.js
 โ”ƒ โ”ƒ 
 โ”ฃ components
 โ”ƒ โ”ฃ question
 โ”ƒ โ”ƒ โ”ƒ WhoMeetQuestion.tsx
 โ”ƒ โ”ƒ โ”— InputQuestion.tsx
 โ”ƒ โ”— Modal.jsx
 โ”ฃ lib
 โ”ƒ โ”ฃ constants
 โ”ƒ โ”ƒ โ”— questionList.ts
 โ”ƒ โ”— hooks
 โ”ƒ โ”ƒ โ”— iseInput.ts
 โ”ฃ utils
 โ”ƒ โ”— convertHtmlToPng.ts
 โ”ƒ  
 โ”ฃ states
 โ”— index.ts 
 styles
 โ”— globals.css
 types
 โ”— index.ts
 

์„œ๋ฒ„ ์—ฐ๊ฒฐ์ฝ”๋“œ

import { client } from './';

export const postQuestions = async body => {
	try {
		const { data } = await client.post('/question', body);
	} catch (err) {
		throw err;
	}
};

export const postGroup = async body => {
	try {
		const { data } = await client.post('/group', body);
	} catch (err) {
		throw err;
	}
};
const handleClick = async () => {
		await postQuestions({ postText: allAnswer });
	};

์‚ฌ์šฉํ•œ ๋ชจ๋“ˆ


    "@emotion/react": "^11.4.0",
    "@emotion/styled": "^11.3.0",
    "axios": "^0.21.1",
    "next": "10.2.2",
    "react": "17.0.2",
    "react-dom": "17.0.2",
    "recoil": "^0.3.1",
    "styled-components": "^5.3.0"
  
    "@types/react": "17.0.6",
    "eslint": "^7.27.0",
    "eslint-config-airbnb": "^18.2.1",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-prettier": "^3.4.0",
    "eslint-plugin-react": "^7.23.2",
    "eslint-plugin-react-hooks": "^4.2.0",
    "prettier": "^2.3.0",
    "typescript": "4.2.4"
 

Code Convention

  • Git Branch ๊ธฐ๋Šฅ๋ณ„๋กœ branch ๊ตฌ์„ฑ

  • git commit message rule

[feat] ๊ธฐ๋Šฅ ์ถ”๊ฐ€
[fix] ๋ฒ„๊ทธ ์ˆ˜์ •
[chore] ๊ฐ„๋‹จํ•œ ์ˆ˜์ •
[docs] ๋ฌธ์„œ

๐ŸŒผํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ๋งํฌ

https://3second-goldfish.vercel.app/