diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..5ac67a4 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +# Description(구현한 기능) + +- [ ] +- [ ] + + +## Type of change (전 주차 대비) + +Please delete options that are not relevant. + +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as + expected) + + +## Screenshots (if appropriate): diff --git a/.gitignore b/.gitignore index 4d29575..a4bd5c7 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* + +.vscode/* diff --git a/README.md b/README.md index 58beeac..4e7717b 100644 --- a/README.md +++ b/README.md @@ -1,70 +1,59 @@ -# Getting Started with Create React App +# 11th snulion pre-seminar react -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). +## Goal -## Available Scripts +- 2023 1학기 블로그만들기 세션에서 backend 파트 세미나를 위한 base code 제작 +- 1학기 동아리 활동 간 필요한 매 주차 solution code 제작 -In the project directory, you can run: +## Curriculum -### `npm start` +- 8주차(5/6) React 입문 + - 발표 : 김동훈 김시원 김진호 + - 검수 : 김주연 한우현 홍정우 +- 9주차(5/13) React 실습 + - 발표 : 김지현 한승오 홍정우 + - 검수 : 김시원 이동재 이희승 +- 10주차(5/20) React 심화1 + - 발표 : 이동재 한우현 + - 검수 : 김진호 이희승 박평재 한승오 +- 10주차(5/27) React 심화2 + - 발표 : 김동훈 한우현 + - 검수 : 김시원 김지현 박평재 이동재 -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in your browser. +## Deadline -The page will reload when you make changes.\ -You may also see any lint errors in the console. +- 8주차(5/6) : 2/14 자정까지 +- 9주차(5/13) : 2/28 자정까지 +- 10주차(5/20) : 4/1 자정까지 +- 11주차(5/27) : 5/1 자정까지 -### `npm test` +## Rule -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. +### 1. time limit -### `npm run build` + - 정해진 deadline까지 code base를 완성해주세요. + - 다음 주차 사람은 이를 기반으로 세미나를 준비하게 됩니다. + - 불가피하게 code base 변경이 필요할 경우 세미나 팀에 꼭 노티주세요. -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. +### 2. Process -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! + 1) branch 생성 + - solution branch에서 branch를 파서 작업하시면 됩니다. + - branch 명은 week8/solution, week9/solution, week10/solution, week11/solution 으로 해주세요. + - 협업이 필요할시 jh/week5, hs/week5 이런식으로 작업하고 최종적으로 soluion/week2로 합쳐주시면 됩니다. 이 부분은 자유롭게 -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + 2) commit + - commit message는 다음 중 하나로 작성해주세요. + - feat: 새로운 feature추가 + - fix: 내용 수정 + - refactor: 최적화 + - chore: 사소한 변경(lint, typo ...) -### `npm run eject` + 3) pull request + - 작업 후 solution branch로 pull request 날려주세요. + - reviewers : 다른 발표자 1명 + - assignees : 자기 자신 -**Note: this is a one-way operation. Once you `eject`, you can't go back!** - -If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. - -You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) - -### Analyzing the Bundle Size - -This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) - -### Making a Progressive Web App - -This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) - -### Advanced Configuration - -This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) - -### Deployment - -This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) - -### `npm run build` fails to minify - -This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) + 4) merge + - 발표자 2명 중 1명이 merge 하시고 노티 주세요. + - merge 후에 week8/solution, week9/solution, week10/solution, week11/solution branch는 반드시 남겨주세요. 삭제 금지 ! diff --git a/package-lock.json b/package-lock.json index 495c411..cc88270 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@testing-library/user-event": "^13.5.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^6.11.1", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, @@ -3116,6 +3117,14 @@ } } }, + "node_modules/@remix-run/router": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.6.1.tgz", + "integrity": "sha512-YUkWj+xs0oOzBe74OgErsuR3wVn+efrFhXBWrit50kOiED+pvQe2r6MWY0iJMQU/mSVKxvNzL4ZaYvjdX+G7ZA==", + "engines": { + "node": ">=14" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -14360,6 +14369,36 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.11.1.tgz", + "integrity": "sha512-OZINSdjJ2WgvAi7hgNLazrEV8SGn6xrKA+MkJe9wVDMZ3zQ6fdJocUjpCUCI0cNrelWjcvon0S/QK/j0NzL3KA==", + "dependencies": { + "@remix-run/router": "1.6.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.11.1.tgz", + "integrity": "sha512-dPC2MhoPeTQ1YUOt5uIK376SMNWbwUxYRWk2ZmTT4fZfwlOvabF8uduRKKJIyfkCZvMgiF0GSCQckmkGGijIrg==", + "dependencies": { + "@remix-run/router": "1.6.1", + "react-router": "6.11.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", diff --git a/package.json b/package.json index 9ce551a..c3aef84 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,11 @@ "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", "@testing-library/user-event": "^13.5.0", + "axios": "^1.4.0", "react": "^18.2.0", + "react-cookie": "^4.1.1", "react-dom": "^18.2.0", + "react-router-dom": "^6.11.1", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, @@ -38,4 +41,4 @@ "devDependencies": { "tailwindcss": "^3.3.2" } -} +} \ No newline at end of file diff --git a/src/App.css b/src/App.css index 0e0b2db..778345f 100644 --- a/src/App.css +++ b/src/App.css @@ -1,4 +1,4 @@ -.App { +.app { overflow-x: hidden; box-sizing: border-box; display: flex; diff --git a/src/App.js b/src/App.js index 5f30328..d27da22 100644 --- a/src/App.js +++ b/src/App.js @@ -1,15 +1,35 @@ -import logo from "./logo.svg"; import Header from "./components/Header"; import Footer from "./components/Footer"; -import Home from "./routes/Home"; import "./App.css"; +import { BrowserRouter, Route, Routes } from "react-router-dom"; +import HomePage from "./routes/HomePage"; +import PostCreatePage from "./routes/PostCreatePage"; +import PostEditPage from "./routes/PostEditPage"; +import SignUpPage from "./routes/SignUpPage"; +import PostDetailPage from "./routes/PostDetailPage"; +import SignInPage from "./routes/SignInPage"; function App() { return ( -
-
- -