λꡬλ κ°λ¨νκ² μμ±νλ λμ μμ¬, Myλ ₯μ
μμ νκ³ κ°νΈν μ¨λΌμΈ μ΄λ ₯μ μμ± μλΉμ€
- νλ‘μ νΈ μ΄κΈ° μ€μ (2024-09-05)
- κΈ°λ³Έ λ μ΄μμ ꡬν (2024-09-27)
- shadcn/ui λ§μ΄κ·Έλ μ΄μ μ€
- λ°μν λμμΈ κ°μ μ€ ...
Myλ ₯μλ Next.js κΈ°λ°μ μ¨λΌμΈ μ΄λ ₯μ μμ± μΉ μ ν리μΌμ΄μ μ λλ€. μ΄λ ₯μμλ κ°μΈμ νλ ₯, κ²½λ ₯, μ°λ½μ² λ± λ―Όκ°ν κ°μΈμ λ³΄κ° ν¬ν¨λ©λλ€. μ΄λ¬ν μ 보λ₯Ό μλ²μ μ μ₯νλ μκ°, μ μΆ μνμ΄ λ°μν μ μλ€λ μ μ κ³ λ―Όνμ΅λλ€.
κ·Έλμ Myλ ₯μλ λͺ¨λ λ°μ΄ν°λ₯Ό μ€μ§ μ¬μ©μμ λΈλΌμ°μ μλ§ μ μ₯νκ³ , μλ²λ₯Ό μ ν μ¬μ©νμ§ μλ λ°©μμ μ ννμ΅λλ€. λ§μΉ κ°μΈ μ»΄ν¨ν°μμ λ¬Έμ μμ μ νλ κ²μ²λΌ, μ¬μ©μμ μμ€ν μ 보λ μ¬μ©μμ κΈ°κΈ°μλ§ μμ νκ² λ³΄κ΄λ©λλ€.
-
κ°μΈμ 보 보νΈ:
- μλ² μμ΄ λΈλΌμ°μ μμλ§ λμνμ¬ λ°μ΄ν° μ μΆ μμ² μ°¨λ¨
- AES-256 μνΈνλ‘ λ‘컬 λ°μ΄ν° 보νΈ
- IndexedDBλ₯Ό ν΅ν μμ ν λ°μ΄ν° μ μ₯
- CSPλ₯Ό ν΅ν 리μμ€ λ³΄μ κ°ν
-
μμ μ μΈ λ°μ΄ν° κ΄λ¦¬:
- μ€μκ° μλ μ μ₯
- λΈλΌμ°μ μΆ©λ λλΉ λ°μ΄ν° λ°±μ
- JSON νμ λ°μ΄ν° μ΄μμ±
- μμ ν μ΄κΈ°ν λ° λ³΅μ μμ€ν
-
μ¬μ©μ κ²½ν κ³ λ €:
- λλκ·Έ μ€ λλ‘ μΉμ μ λ ¬
- 컀μ€ν μΉμ μ§μ
- PC νκ²½ μ΅μ ν UI
- PDF μΆλ ₯ μ§μ
-
μ±λ₯ λ° μ κ·Όμ±:
- λμ μν¬νΈλ₯Ό ν΅ν λ²λ€ μ΅μ ν
- μ΄λ―Έμ§ μμΆ λ° μ΅μ ν
- μλ§¨ν± HTMLκ³Ό ARIA λ μ΄λΈ
π‘ μ¬μ©μμ μμ€ν μ 보λ₯Ό μμ νκ² μ§ν€κΈ° μν μλ΄
Myλ ₯μλ λͺ¨λ λ°μ΄ν°λ₯Ό μνΈννμ¬ μμ νκ² λ³΄κ΄ν©λλ€. νμ§λ§ λ μ² μ ν 보μμ μν΄μλ μ¬μ©μμ μ»΄ν¨ν°λ μμ νκ² κ΄λ¦¬λμ΄μΌ ν©λλ€.
- μ λ’°ν μ μλ λ°±μ νλ‘κ·Έλ¨ μ¬μ©
- μ΄μ체μ μ λΈλΌμ°μ μ μ΅μ 보μ μ λ°μ΄νΈ μ μ§
- μ€μν μμ νμλ λ°μ΄ν° λ΄λ³΄λ΄κΈ° κΈ°λ₯μΌλ‘ λ°±μ νκΈ°
- π μ€μκ° μλ μ μ₯
- π λ‘컬 λ°μ΄ν° μνΈν
- π€ λ°μ΄ν° μ΄μμ±
- JSON νμ λ΄λ³΄λ΄κΈ°/κ°μ Έμ€κΈ°
- ν¬λ‘μ€ λΈλΌμ°μ μ§μ
- κΈ°κΈ° κ° λ°μ΄ν° μ΄λ
- π μ΄κΈ°ν λ° λ³΅μ
- βοΈ κΈ°λ³Έ μΉμ (κ²½λ ₯, νλ ₯)
- β 컀μ€ν μΉμ μΆκ°/μμ /μμ
- π λλκ·Έ μ€ λλ‘ μμ λ³κ²½
- π μΉμ μ κΈ°/νΌμΉκΈ°
- π¨οΈ PDF μΆλ ₯
- π± λ°μν λμμΈ (PC μ΅μ ν)
- Next.js 14
- React 18
- Tailwind CSS
- Zustand (μνκ΄λ¦¬)
-
UI/UX
- @dnd-kit/* : λλκ·Έ μ€ λλ‘ κ΅¬ν
- react-modal : μ κ·Όμ±μ΄ κ³ λ €λ λͺ¨λ¬
- react-transition-group : λΆλλ¬μ΄ μ λλ©μ΄μ μ²λ¦¬
-
λ°μ΄ν° & 보μ
- crypto-js : AES-256 μνΈν
- dexie : IndexedDB λνΌ
- browser-image-compression : μ΄λ―Έμ§ μ΅μ ν
-
κΈ°λ₯
- react-to-print : PDF μΆλ ₯ (λμ μν¬νΈ)
- react-daum-postcode : μ£Όμ κ²μ (λμ μν¬νΈ)
- ESLint : μ½λ νμ§ κ΄λ¦¬
- @next/bundle-analyzer : λ²λ€ μ΅μ ν
- Vercel : λ°°ν¬ λ° λΆμ
# μ μ₯μ 볡μ
git clone https://github.com/gr22nist/MYR.git
# μ’
μμ± μ€μΉ
npm install
# κ°λ° μλ² μ€ν
npm run dev
.env.local
νμΌμ μμ±νκ³ λ€μ λ³μλ₯Ό μ€μ νμΈμ:
NEXT_PUBLIC_SECRET_KEY=your-secret-key # AES-256 μνΈνμ μ¬μ©λ ν€
- Chrome (μ΅μ λ²μ )
- Firefox (μ΅μ λ²μ )
- Safari (μ΅μ λ²μ )
- Edge (μ΅μ λ²μ )
β οΈ Internet Explorerλ μ§μνμ§ μμ΅λλ€
μ΄ νλ‘μ νΈλ MIT λΌμ΄μ μ€λ₯Ό λ°λ¦ λλ€. μμΈν λ΄μ©μ LICENSE νμΌμ μ°Έκ³ νμΈμ.