Coder Social home page Coder Social logo

jds_wikipage's Introduction

๐Ÿ”– jds-wikipage

1. ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ๐Ÿ“‚

jds-wikipage
โ”œโ”€ src
โ”‚  โ”œโ”€ app
โ”‚  โ”‚  โ”œโ”€ (home)
โ”‚  โ”‚  โ”œโ”€ editor
โ”‚  โ”‚  โ”œโ”€ post-details
โ”‚  โ”‚  โ”œโ”€ layout.module.scss
โ”‚  โ”‚  โ””โ”€ layout.tsx
โ”‚  โ”œโ”€ components
โ”‚  โ”‚  โ”œโ”€ Button
โ”‚  โ”‚  โ”œโ”€ Header
โ”‚  โ”‚  โ”œโ”€ Loader
โ”‚  โ”‚  โ”œโ”€ MarkdownViewer
โ”‚  โ”‚  โ”œโ”€ Pagination
โ”‚  โ”‚  โ””โ”€ Post
โ”‚  โ”‚     โ”œโ”€ PostItem
โ”‚  โ”‚     โ””โ”€ PostList
โ”‚  โ”œโ”€ mock
โ”‚  โ”‚  โ””โ”€ mock.ts
โ”‚  โ”œโ”€ redux
โ”‚  โ”‚  โ”œโ”€ Providers
โ”‚  โ”‚  โ”œโ”€ postSlice.ts
โ”‚  โ”‚  โ””โ”€ store.ts
โ”‚  โ”œโ”€ styles
โ”‚  โ”‚  โ”œโ”€ _global.scss
โ”‚  โ”‚  โ”œโ”€ _reset.scss
โ”‚  โ”‚  โ”œโ”€ _variables.scss
โ”‚  โ”‚  โ””โ”€ mixins
โ”‚  โ”‚     โ””โ”€ _text.scss
โ”‚  โ”œโ”€ types
โ”‚  โ””โ”€ utils



2. ๊ตฌํ˜„ ์‚ฌํ•ญ ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป

โœ… ๋ชจ๋“ˆํ™”๋œ ๋””์ž์ธ ๋‹จ์œ„์˜ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ

  • ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๊ฐœ๋ฐœํ•จ์œผ๋กœ์จ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์„ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค.

    • Button ์ปดํฌ๋„ŒํŠธ, Header ์ปดํฌ๋„ŒํŠธ, PostList ์ปดํฌ๋„ŒํŠธ, PostItem ์ปดํฌ๋„ŒํŠธ, MarkdownViewer ์ปดํฌ๋„ŒํŠธ, Pagination ์ปดํฌ๋„ŒํŠธ, Loader ์ปดํฌ๋„ŒํŠธ
  • ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ ์ƒํ™ฉ์— ๋Œ€์‘ํ•˜๋Š” ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

    • Button ์ปดํฌ๋„ŒํŠธ, Loader ์ปดํฌ๋„ŒํŠธ

      • icon, text, children ๋“ฑ์„ ํ”„๋กœํผํ‹ฐ๋กœ ๋ฐ›์•„ ํ”„๋กœ์ ํŠธ ์ „์ฒด์—์„œ ์žฌ์‚ฌ์šฉ ๋˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

      • classnames ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด css์˜ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

โœ… redux toolkit ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•ด ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ

  • post ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋Š” ์ „์—ญ์ ์œผ๋กœ ๊ด€๋ฆฌ๋˜์–ด์•ผ ํ•  ๊ฐ’์œผ๋กœ ํŒ๋‹จํ•˜์—ฌ redux์—์„œ ์ž‘์„ฑ ๋ฐ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

โœ… home / editor / post-details ํŽ˜์ด์ง€ ๊ฐœ๋ฐœ

โœ”๏ธ home ํŽ˜์ด์ง€

  • post ์•„์ดํ…œ์—๋Š” title, subTitle์ด ๋ณด์—ฌ์ง€๊ณ , subTitle์˜ ๊ฒฝ์šฐ ๋…ธ์ถœ๋˜๋Š” ๋‹จ์–ด์˜ ์ˆ˜๋ฅผ 30๊ฐœ๋กœ ์ œํ•œํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Pagination์„ ๊ตฌํ˜„ํ•˜์—ฌ ํ•œ ํŽ˜์ด์ง€ ๋‹น 5๊ฐœ์˜ ๊ฒŒ์‹œ๊ธ€์ด ๋…ธ์ถœ๋˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

โœ”๏ธ editor ํŽ˜์ด์ง€

  • redux์—์„œ ์ž‘์„ฑํ•œ post ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
  • markdown-it ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด Markdown ํ˜•์‹์˜ ํ…์ŠคํŠธ๋ฅผ ํŒŒ์‹ฑํ•˜๊ณ  HTML๋กœ ๋ณ€ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • react-markdown-editor-lite ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด ์‚ฌ์šฉ์ž๊ฐ€ Markdown ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ด๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฏธ๋ฆฌ๋ณด๊ธฐํ•  ์ˆ˜ ์žˆ๋Š” ์—๋””ํ„ฐ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

โœ”๏ธ post-details ํŽ˜์ด์ง€

  • react-markdown ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด Markdown ํ˜•์‹์˜ ํ…์ŠคํŠธ๋ฅผ React ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ Œ๋”๋งํ–ˆ์Šต๋‹ˆ๋‹ค.
  • rehype ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ rehypeRaw ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•ด Markdown ๋‚ด์—์„œ ์ง์ ‘ HTML๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Markdown ๋‚ด์—์„œ ์‚ฝ์ž…๋œ ์ด๋ฏธ์ง€์˜ ๊ฒฝ์šฐ Next.js์˜ <Image> ํƒœ๊ทธ๋กœ ๊ต์ฒดํ•ด ์ด๋ฏธ์ง€ ์ตœ์ ํ™”๊ฐ€ ๋˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

โœ… SCSS๋ฅผ ์‚ฌ์šฉํ•œ ์Šคํƒ€์ผ๋ง ์ž‘์—…

  • ์ค‘์ฒฉ(Nesting)๊ตฌ๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

  • variable์„ ์‚ฌ์šฉํ•ด ์Šคํƒ€์ผ์˜ ์ผ๊ด€์„ฑ๊ณผ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

  • mixin์„ ์‚ฌ์šฉํ•ด ํ…์ŠคํŠธ ์Šคํƒ€์ผ์„ ์ •์˜ํ•ด ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.

โœ… UI/UX

  • Loader ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜์—ฌ UI/UX๋ฅผ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

3. STACKS ๐Ÿ“š




4. Git Convention ๐Ÿ–๏ธ

ํƒœ๊ทธ ์„ค๋ช…
feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ
chore ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์„ค์ • ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ๊ณผ ๋ฌด๊ด€ํ•œ ๋ถ€๋ถ„ ๋“ค์„ ์ˆ˜์ •, ์ถ”๊ฐ€ ํ•˜๋Š” ๊ฒฝ์šฐ
error ๋ฒ„๊ทธ๋ฅผ ๊ณ ์นœ๊ฒฝ์šฐ
HOTFIX ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ ์ˆ˜์ •, ์šด์˜์ค‘ ๋น ๋ฅธ ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
design CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ
style ์ฝ”๋“œ ํฌ๋งท ๋ณ€๊ฒฝ, ์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ ๋“ฑ ๊ธฐ๋Šฅ์ƒ์˜ ์ฝ”๋“œ ์ˆ˜์ •์ด ์—†๋Š” ๊ฒฝ์šฐ
comment ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ
docs ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
refactor ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
rename ํŒŒ์ผ๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…
remove ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…
test Test์ฝ”๋“œ ์ถ”๊ฐ€

5. ํ”„๋กœ์ ํŠธ ์‹คํ–‰ ๋ฐฉ๋ฒ• ๐Ÿ–ฅ๏ธ

# ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํด๋ก 
git clone https://github.com/ssori0421/jds_wikipage

# ํŒจํ‚ค์ง€ ์„ค์น˜
yarn

# ์‹คํ–‰
yarn build ํ›„์— yarn start

jds_wikipage's People

Contributors

ssori0421 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.