Skip to content

충남대 FE_강병현_1주차_과제 Step1 #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
3a896a3
docs(README.md): add a list of features
kang-kibong Jun 25, 2024
586a145
feat(kakao-gift): create TypeScript project using CRA
kang-kibong Jun 25, 2024
9a6f829
chore: remove unnecessary code and files
kang-kibong Jun 25, 2024
f22f89e
chore: configure absolute paths using craco
kang-kibong Jun 25, 2024
dc76831
chore: set up Prettier formatting rules
kang-kibong Jun 26, 2024
45a3b22
chore: configure ESLint rules according
kang-kibong Jun 26, 2024
de2ffcc
chore: add emotion styling library
kang-kibong Jun 26, 2024
2ae3ea8
feat: add Button component
kang-kibong Jun 26, 2024
b5fcaed
feat: Apply reset CSS globally
kang-kibong Jun 26, 2024
5ef0d54
feat: Initialize folder structure
kang-kibong Jun 26, 2024
f558c4e
chore: Moved files to new directory structure
kang-kibong Jun 26, 2024
2317065
feat: feat: Add lint-staged and husky
kang-kibong Jun 26, 2024
4840d6a
docs: Add feature list for Storybook components in README
kang-kibong Jun 27, 2024
ddc3fff
chore: install and configure Storybook
kang-kibong Jun 27, 2024
f9747a7
refactor(components): update Button component
kang-kibong Jun 27, 2024
bc5c112
design(Button): Implement button styling based on size props
kang-kibong Jun 27, 2024
c7e61b0
design(Button): Implement button styling based on theme props
kang-kibong Jun 27, 2024
c7b8991
feat(storybook): add Button component story
kang-kibong Jun 27, 2024
af20619
feat: add Input component
kang-kibong Jun 28, 2024
6dd2c28
feat: add disabled prop styling to Input component
kang-kibong Jun 28, 2024
76fcdd0
feat: add invalid prop styling to Input component
kang-kibong Jun 28, 2024
df88036
feat: implement size prop styling for Input component
kang-kibong Jun 28, 2024
4621a85
feat: add Storybook stories for Input component
kang-kibong Jun 28, 2024
0213fc5
feat: add Image component
kang-kibong Jun 28, 2024
41eede0
feat: add ratio prop to set image aspect ratio in Image component
kang-kibong Jun 28, 2024
74bec12
feat: add radius prop to set border radius in Image component
kang-kibong Jun 28, 2024
563337a
feat: add width and height props to Image component
kang-kibong Jun 28, 2024
166a65e
feat: add Storybook stories for RatioSquare, RadiusCircle, and Radius…
kang-kibong Jun 28, 2024
e0158a9
docs(README): add README documentation
kang-kibong Jun 28, 2024
3f8b081
feat: implement GoodsItem component with common props
kang-kibong Jun 28, 2024
4f57ac9
feat: add GoodsItem component
kang-kibong Jun 28, 2024
bcb5659
feat: add Ranking component
kang-kibong Jun 28, 2024
0a1ea6d
feat: add Storybook stories for GoodsItem Default and Ranking components
kang-kibong Jun 28, 2024
dfdaebe
feat: add Container component
kang-kibong Jun 28, 2024
5ef7785
feat: add Storybook stories for Container component
kang-kibong Jun 28, 2024
3058f54
feat: add FullScreen story for Container component
kang-kibong Jun 28, 2024
dcaeca4
feat: add Grid component
kang-kibong Jun 28, 2024
daf0158
feat: add NumberColumns story for Grid component
kang-kibong Jun 28, 2024
b38ee04
feat: add ResponsiveColumns story for Grid component
kang-kibong Jun 28, 2024
571bacf
chore: move Button component file to common folder
kang-kibong Jun 28, 2024
3872a5c
chore: move files
kang-kibong Jun 28, 2024
e524f7d
docs: update README
kang-kibong Jun 28, 2024
69d09a4
feat: add autodocs tags to all Storybook files
kang-kibong Jun 28, 2024
997a79a
fix: add babel-preset-react-app to package.json
kang-kibong Jun 28, 2024
a9c4096
docs: add requirements from code review to README
kang-kibong Jun 28, 2024
65a4214
chore: remove eslintConfig from package.json
kang-kibong Jun 28, 2024
def5518
chore: move testing and types dependencies to devDependencies
kang-kibong Jun 28, 2024
ce11642
docs: add initial folder structure explanation to README
kang-kibong Jun 28, 2024
9abf298
chore: update lint script target
kang-kibong Jun 28, 2024
43c723b
docs: create QUESTIONS.md
kang-kibong Jun 28, 2024
02fd425
feat(button): update responsive height styles
kang-kibong Jun 29, 2024
ab9c04c
refactor(ranking): remove magic number by defining a constant
kang-kibong Jun 29, 2024
60a07c4
refactor(props): refactor all files to spread props for cleaner code
kang-kibong Jun 29, 2024
3d13ff9
refactor(goods-item): replace magic numbers with constants
kang-kibong Jun 29, 2024
2c9105b
chore: move styles folder to assets folder
kang-kibong Jun 29, 2024
ab6680f
fix(dependencies): add @babel/plugin-proposal-private-property-in-obj…
kang-kibong Jun 29, 2024
a06d91e
refactor(GoodsItem): separate renderRanking method for better readabi…
kang-kibong Jun 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"plugins": ["@emotion"]
}
45 changes: 45 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": ["react-app", "eslint:recommended", "plugin:import/typescript", "airbnb", "prettier"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": "latest",
"sourceType": "module"
},
"rules": {
"no-var": "error",
"no-multiple-empty-lines": "error",
"no-console": ["error", { "allow": ["warn", "error", "info"] }],
"eqeqeq": "error",
"dot-notation": "error",
"no-unused-vars": "error",
"import/extensions": ["error", "ignorePackages"],
"import/prefer-default-export": "off",
"react/jsx-filename-extension": ["error", { "extensions": [".tsx"] }],
"import/no-unresolved": "off"
},
"settings": {
"import/resolver": {
"alias": {
"map": [
["@", "./src"],
["@components", "./src/components"],
["@styles", "./src/styles"],
["@apis", "./src/apis"],
["@assets", "./src/assets"],
["@hooks", "./src/hooks"],
["@pages", "./src/pages"],
["@store", "./src/store"],
["@utils", "./src/utils"]
],
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
}
}
25 changes: 25 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*

.eslintcache
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
npx lint-staged
9 changes: 9 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"singleQuote": true,
"parser": "typescript",
"semi": true,
"useTabs": false,
"tabWidth": 2,
"printWidth": 120,
"arrowParens": "always"
}
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,13 @@
# react-gift-react-foundation
FE 카카오 선물하기 1주차 과제: React 기초
# 1️⃣ 1주차 프로젝트 세팅 & 컴포넌트 - React 입문
## 🚀 1단계 - 프로젝트 세팅
### 📄 기능 목록
- [x] CRA 기반 TypeScript 프로젝트 생성
- [x] 절대 경로 설정
- [x] prettier 설치 및 룰 설정
- [x] eslint 설치 및 eslint-config-airbnb 룰 설정
- [x] lint-staged, husky 설치 및 자동화 설정
- [x] emotion 스타일 라이브러리 설치
- [x] reset css 적용
- [x] .gitignore 추가
- [x] 불필요한 코드 및 파일 정리
- [x] 폴더 구조 생성
17 changes: 17 additions & 0 deletions craco.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const path = require('path');

module.exports = {
webpack: {
alias: {
'@': path.resolve(__dirname, 'src/'),
'@components': path.resolve(__dirname, 'src/components'),
'@styles': path.resolve(__dirname, 'src/styles'),
'@apis': path.resolve(__dirname, 'src/apis'),
'@assets': path.resolve(__dirname, 'src/assets'),
'@hooks': path.resolve(__dirname, 'src/hooks'),
'@pages': path.resolve(__dirname, 'src/pages'),
'@store': path.resolve(__dirname, 'src/store'),
'@utils': path.resolve(__dirname, 'src/utils'),
},
},
};
Loading