π "Pixstar"μ μ΄λ―Έμ§λ₯Ό ν΅ν΄ μΌμμ 곡μ νλ SNS μλΉμ€μ
λλ€.
π μ΄λ―Έμ§μ κ°λ¨ν κ²μκΈμ 곡μ ν¨μΌλ‘μ¨ λ€λ₯Έ μ¬λκ³Ό μΌμμ 곡μ ν μ μμ΅λλ€.
β€οΈ λ§μμ λλ κ²μκΈμ μ’μμλ₯Ό λλ¬ λ§μμ νμλ₯Ό ν μ μμ΅λλ€.
βοΈ λκΈμ ν΅ν΄ μ¬λ¬ μ¬λκ³Ό κ²μκΈμ λν΄ μν΅ν μ μμ΅λλ€.
[λͺ©μ°¨]
2023.08.18 ~ 20223.09.05
μ΄λμ | μ΄μ§μ | λ§Ήμ§μ° | κΉμμ‘° |
---|---|---|---|
@tosecfromback | @LJS0000 | @M-JiYeon | @KimYeongJo |
νλ‘μ νΈλ¦¬λ User App ꡬν λ°ν μ€λΉ |
κ²μκΈ κ²μ κΈ°λ₯ ꡬν FrontEnd μμΈμ²λ¦¬ λ° λ¦¬ν©ν λ§ |
λκΈ λ° λλκΈ κΈ°λ₯ ꡬν README μμ± APIλͺ μΈ μμ± |
κ²μκΈ κΈ°λ₯ ꡬν νμΌ μ λ‘λ κΈ°λ₯ ꡬν λ°νμλ£ μ€λΉ |
Pixstar
ββΒ .gitignore
ββΒ README.md
ββΒ post
βΒ Β ββΒ __init__.py
βΒ Β ββΒ migrations
βΒ Β βΒ Β ββΒ 0001_initial.py
βΒ Β βΒ Β ββΒ __init__.py
βΒ Β ββΒ models.py
βΒ Β ββΒ serializers.py
βΒ Β ββΒ storage.py
βΒ Β ββΒ urls.py
βΒ Β ββΒ views.py
βΒ Β ββΒ urls.py
ββΒ user
βΒ Β ββΒ __init__.py
βΒ Β ββΒ authentication.py
βΒ Β ββΒ migrations
βΒ Β βΒ Β ββΒ 0001_initial.py
βΒ Β βΒ Β ββΒ __init__.py
βΒ Β ββΒ models.py
βΒ Β ββΒ serializers.py
βΒ Β ββΒ urls.py
βΒ Β ββΒ views.py
ββΒ requirements.txt
ββΒ README.md
π¨π»βπ» κΉμμ‘°
νμ
λ° λΈλμΉ μ λ΅μ μν κΉνλΈ μ¬μ©λ²μ λ μ΅νμΌνλ€κ³ λκΌμ΅λλ€.
μ λ κ²μκΈ CRUD, μ΄λ―Έμ§ κ΄λ ¨ κΈ°λ₯μ λ΄λΉνμλλ°, λ€μ€ μ΄λ―Έμ§ μ²λ¦¬λ μ²μμ΄κ³ , AWS S3λ μ²μ μ΄μ©νλ€λ³΄λ λ§€μ° μ¬λ―Έμμμ΅λλ€. κ·Έλ¦¬κ³ ν΄λΌμ΄μΈνΈμ 보λ΄λ λ°μ΄ν°λ₯Ό μ’ λ κ³ λ €λ₯Ό ν΄μΌκ² λ€λ μκ°μ νμ΅λλ€.
ν νλ‘μ νΈλ₯Ό μ§ννλ©΄μ νμλΆλ€μ΄ μ¬μ©ν μ½λμ ν΄μ λ³΄κ³ λ°°μ°λ©°, λ€μν κ²½νμ μ ν μ μλ μ’μ κΈ°νμμ΅λλ€.
π©π»βπ» λ§Ήμ§μ°
νλ‘μ νΈλ₯Ό μ§ννλ©΄μ νμ
μ ν λ κ°μ 맑μ κΈ°λ₯μ ꡬννλ©΄μ μν΅μ μ€μμ±μ λν΄ κΉ¨λ¬μμ΅λλ€.
μν΅μμ΄ κ΅¬νμ μ§ννλ€λ³΄λ©΄ λ΄κ° μμ
ν κ²λ€μ΄ μ΄μ μ κ²λ€λ‘ λμκ°κ±°λ λμμ΄ νμ§ μλ κ²½μ°κ° μμλλ° μλ‘ μ΄λ»κ² μ½λλ₯Ό μμ±νμλμ§ κ³΅μ νλ©΄μ ν΄κ²°νλ κ³Όμ μ λ°°μ μ΅λλ€.
κ·Έλ¦¬κ³ λ€κ°μ΄ λͺ¨λ₯΄λ λΆλΆκ³Ό μλ¬λ₯Ό 곡μ νκ³ , λ€λ₯Έ νμλ€μ΄ ꡬνν μ½λλ₯Ό 보면μ λͺ¨λ₯΄λ μ§μμ μκ² λμ΄ μ’μμ΅λλ€.
π¨π»βπ» μ΄λμ
νλ‘κ·Έλλ° ννλ‘μ νΈλ₯Ό μ²μ μ§ννκ²λλ©΄μ νμ½κ³Ό κ΄λ ¨λ ν΄μ λν΄μ μ’ λ 곡λΆν΄μΌ νλ€λ μ κ³Ό κ°λ°νκ²½μ μμ΄ λ²μ κ΄λ¦¬ ν΄μ μ€μμ±μ λν΄μ λ€μ ν λ² μκ°νκ² λλ μ λ± λ€μν ν μκ°μ΄ λ€μμ§λ§ κ·Έ μ€ κΈ°λ₯λ€ μ€ κ°λ°κ³Όμ μ μμ΄μ λ€λ₯Έ κΈ°λ₯λ€μ μν₯μ μ€ μ μλ κ²μ ꡬννλ κ²μ λν μ°μ λλ₯Ό μκ°ν΄ λ΄μΌνλ€λ μ μ΄ μΈμμ΄ κΉκ² λ¨μμ΅λλ€.
μ λ νμκ°μ
κ³Ό λ‘κ·ΈμΈμ κ΄ν κΈ°λ₯μ ꡬννλλ° ν΄λΉ κΈ°λ₯μ ꡬνμ΄ μ‘°κΈ λ 빨리 ꡬνλμλ€λ©΄ λ€λ₯Έ νμλΆλ€μ΄ ꡬνν΄μ£Όμ κΈ°λ₯κ³Ό ν¨κ» ν
μ€νΈλ₯Ό μ’ λ 빨리 μ§ννλ©΄μ κΈ°λ₯λ€μ ν©μ³€μ λ λ°μνλ μλ¬λ₯Ό λ 빨리 λ°κ²¬νκ² λκ³ λ λμ μμ±λλ₯Ό κ°μ Έκ° μ μμ§ μμμκΉλΌλ μκ°μ΄ λλ κ³Όμ μ΄ μμμ΅λλ€. νλ‘μ νΈκ° λλκ°λ μμ μμ ννλ‘μ νΈ κΈ°κ° μ€ μμ±ν μ κ°μΈμ μμ
μΌμ§λ₯Ό λ€μ ν λ² μ½μ΄λ³΄κ³ νλ‘μ νΈ κΈ°κ°μ λμ§μ΄ λ΄€μ λ λ€μλΆν°λ κΈ°λ₯λ€κ°μ μνΈμμ©μ μ κΈ°μ μΌλ‘ μκ°νλ©΄μ κ° κΈ°λ₯λ€ μ€ μ°μ μ μΌλ‘ ꡬν λ κΈ°λ₯μ μκ°ν΄λ΄μΌ κ² λ€λ μ μ΄ μ μΌ ν° μκ°μ
λλ€.
π©π»βπ» μ΄μ§μ
μ€λλ§μ ννλ‘μ νΈ μμ
μ νλ©΄μ μ¦κ±°μ μ΅λλ€. νμ
μ κ°μΈ μμ
κ³Ό λΉκ΅ν΄ κΈ°νμ΄λ ꡬν λ¨κ³μμ λ λ§μ 리μμ€κ° νμνμ΅λλ€. νμ§λ§ νλ‘μ νΈλ₯Ό λ°μ μν€κ³ λ¬Έμ λ₯Ό ν΄κ²°νλ κ³Όμ μμ κ·Έ 리μμ€ μ΄μμ κ°μΉλ₯Ό μ°½μΆν μ μλ€λ κ²μ μ΄λ² νλ‘μ νΈμμ λκΌμ΅λλ€. λ¬Έμ ν΄κ²°μ μν΄ λ€κ°μ΄ κ³ λ―Όνκ³ , μλ‘μ μ½λλ₯Ό κ²ν νλ κ³Όμ μ λ§μ μ€λ ₯ ν₯μμ΄ μμμ΅λλ€. νΉν λ€λ₯Έ νμλ€κ³Ό ν¨κ» μμ
μ νκ³ μλ€λ κ² μμ²΄κ° ν° νμ΄ λμ΅λλ€.
μ½λλ₯Ό μμ±ν λλ SRP μμΉκ³Ό ν¨κ» μΆμνμ λͺ¨λνλ₯Ό μκ°νμ΅λλ€. κΈ°λ³Έμ μ΄μ§λ§ μ€μν 1)μΈμ¦μΈκ° μ²λ¦¬μ 보μμ±μ λμ΄λ λ°©λ², 2)μ΄λ―Έμ§ νμΌμ λ€λ£° λ ν΄λΌμ΄μΈνΈμ μλ²μ μν , 3)λΉμ¦λμ€λ‘μ§μ ν¨μ¨μ μΌλ‘ ꡬννκΈ° μν μ½λμ ꡬμ±, 4)RESTfulν API μμ± λ±μ κ³ λ―Όνμμ΅λλ€.
S3 λ²ν·μ μ΄λ―Έμ§λ₯Ό μ μ₯νκ³ μ΅μ ννλ 주체μ λν΄ κ³ λ―Όμ΄ κ°μ₯ κΈ°μ΅μ λ¨μ΅λλ€. μ²μμλ λ μ΄ν΄μμ 리μμ€ μ¬μ©μ κ³ λ €ν΄ ν΄λΌμ΄μΈνΈκ° μ ν©νμ§ μλ μκ°μ νμλλ° ν΄λΌμ΄μΈνΈμ μ»΄ν¨ν
μ±λ₯μ λν λΆνμ€μ±μ κΈ°λ μ μλ€λ μ . λλΆμ΄ λΆμ° μλ²λ₯Ό μ΄μ©νλ©΄ μ±λ₯ κ°μ μ΄ κ°λ₯νλ€λ μ λ±μ μ΄μ λ‘ μ΄λ―Έμ§ μ²λ¦¬μ 주체λ μλ²κ° λ μ ν©νκ² λ€κ³ μκ°μ λ°κΎΈλ κ³κΈ°κ° λμμ΅λλ€. μμ§ μ λ΅μ κ°κΉμ§ μκ³ , κΈ°μ΄μ μΈ κ³ λ―ΌμΌμ§λΌλ μ΄λ° μμΌλ‘ λ¬Έμ λ₯Ό λ°κ²¬νκ³ ν΄κ²° λ°©λ²μ μκ°νλ κ³Όμ μ΄ μ±μ₯ν μ μλ κΈ°νκ° λμμ΅λλ€.