"κ³νμ μΈ λΉμ μ μν, μ±μ₯μ μ¦λͺ νλ κ°μ₯ μλ²½ν νλλ."
κ°μΈμ λͺ°μ κ³Ό νμ μ κΈ°μ μΈ νμ μ λ°μ΄ν°λ‘ κΈ°λ‘νκ³ μκ°ννλ μ€λ§νΈ μκ° κ΄λ¦¬ μμ€ν
μλλ‘μ΄λ κΈ°κΈ°μμ Momentoλ₯Ό μ§μ 체νν΄ λ³΄μ€ μ μμ΅λλ€.
- APK λ€μ΄λ‘λ: Momento μ€μΉ νμΌ (Google Drive)
- ν μ€νΈ νκ²½: Galaxy S10e, Galaxy S22+ κ²μ¦ μλ£
"νμμ κ³νμ μ’μνμ§λ§ μ΄λ»κ² κ³νν΄μΌ ν μ§ λͺ°λκ±°λ, μΈμ΄ κ³νμ μ€μ²νλ κ³Όμ μ μκ°ννκ³ μΆμΌμ κ°μ?"
λ§μ μ¬λλ€μ΄ λͺ©νλ₯Ό μΈμ°μ§λ§, κ·Έ λͺ©νλ₯Ό λ¬μ±νκΈ° μν μΈλΆ λ¨μ(Task)λ₯Ό κ΄λ¦¬νκ³ μκ°μ λ°°λΆνλ λ° μ΄λ €μμ κ²ͺμ΅λλ€. Momentoλ μΆμμ μΈ κ³νμ ꡬ체μ μΈ μκ° κΈ°λ‘μΌλ‘ μ ννμ¬, λΉμ μ μ±μ·¨λ₯Ό μμΉμ 리ν¬νΈλ‘ μ¦λͺ ν©λλ€.
| λΆλ₯ | κΈ°μ μ€ν | λΉκ³ |
|---|---|---|
| Infrastructure | KCloud (Ubuntu 22.04 LTS), Nginx, PM2 | μλ² νΈμ€ν λ° νλ‘μΈμ€ κ΄λ¦¬ |
| Backend | Node.js (v22.x), NestJS (v10.x), Prisma ORM | μλ² νλ μμν¬ λ° λ°μ΄ν°λ² μ΄μ€ μ κ·Ό |
| Database | PostgreSQL (v16.x) | λ©μΈ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ |
| Frontend | React Native (Android) | ν¬λ‘μ€ νλ«νΌ λͺ¨λ°μΌ μ± κ°λ° |
| Communication | REST API, Socket.io, Firebase Auth | λ°μ΄ν° ν΅μ λ° μ¬μ©μ μΈμ¦ |
- Task: μκ°μ μΈ‘μ ν μ μλ κΈ°λ³Έ λ¨μ.
- Project: μ¬λ¬ κ°μ Taskλ‘ κ΅¬μ±λ μ₯κΈ° λͺ©ν.
- Personal Project: μ°Έμ¬ μΈμμ΄ 1λͺ μΈ κ°μΈμ© νλ‘μ νΈ.
- Team Project: μ°Έμ¬ μΈμμ΄ 2λͺ μ΄μμΈ νμ μ© νλ‘μ νΈ.
- Google Sign-in: Firebase Auth κΈ°λ°μ JWT ν ν° λ‘κ·ΈμΈ μλΉμ€.
- 컀μ€ν νλ‘ν: μ΄λͺ¨μ§ λ° λλ€μ μμ κΈ°λ₯ (λλ€μ μ€λ³΅ λ°©μ§ ν¬ν¨).
| λ‘κ·ΈμΈ νμ΄μ§ μ λλ©μ΄μ | μ΄λͺ¨μ§ λ° νλ‘ν μμ |
|---|---|
![]() |
![]() |
- νλ‘μ νΈ κ΄λ¦¬: λ§κ°μΌ(Due Date) μ€μ λ° Task ν λΉ.
-
μ€μκ° μ§νλ: μλ£λ Task λΉμ¨μ λ°λΌ μ§νλ₯ μλ κ³μ°.
$$μ§νλ = 100 \times \frac{\text{μλ£λ Task κ°μ}}{\text{μ 체 Task κ°μ}}$$ - μ§μ€ λͺ¨λ (λ½λͺ¨λλ‘): νλ λͺ¨μ μκ³λ₯Ό ν΄λ¦νμ¬ μΈ‘μ κΈ°λ₯μλ§ μ§μ€νλ κ°κ²°ν UI μ 곡.
| νλ‘μ νΈ μμ± λ° κ΄λ¦¬ | μ§μ€ λͺ¨λ (λ½λͺ¨λλ‘) |
|---|---|
![]() |
![]() |
Exception Handler: > - νλ‘μ νΈλͺ /λ§κ°μΌ λ―Έμ λ ₯ μ μ€λ₯ λ©μμ§ λ°μ.
- μκ° μΈ‘μ μ€μΈ Taskλ μμ λ²νΌμ΄ μλλλ©°, ν΄λΉ νλ‘μ νΈ μμ μ κ²½κ³ κ° λ°μν©λλ€.
- νμ μ΄λ: λλ€μ κ²μμ ν΅ν΄ νλ‘μ νΈ μμ± λ° μ§ν μ€ νμ μΆκ° κ°λ₯.
- λ΄λΉμ μ§μ : Taskλ³ λ΄λΉμλ₯Ό λ°°μ νμ¬ μν λΆλ΄μ λͺ νν ν¨.
- μ€μκ° μν: MemberCardλ₯Ό ν΅ν΄ νμλ³ μ§νλ νμΈ λ° νμ¬ μΈ‘μ μ€μΈ μΈμ νμ±ν νμ.
| νμ μΆκ° λ° μ€ν¬λ‘€ | ν νλ‘μ νΈ κ΄λ¦¬ |
|---|---|
![]() |
![]() |
Exception Handler: > - λ΄λΉμκ° μλ μΈμμ ν΄λΉ Task μΈ‘μ λΆκ°.
- νλ‘μ νΈ μμ κΆνμ μ€μ§ μμ±μμκ²λ§ λΆμ¬λ¨.
- λ³΄κ³ μ μ μ: μλ£ νλ‘μ νΈμ Taskλ³ μΈ‘μ μκ°μ νμ΄ μ°¨νΈλ‘ μκ°ν.
- μΌμΌ λͺ°μ μμμ¦: 24μκ°μ 10λΆ λ¨μλ‘ λλμ΄, μ§μ€ν μκ°μ λ°μ½λ ννλ‘ μκ°ν.
- μμΉ΄μ΄λΈ ν: μΌμΌ μμμ¦μ μ£Όκ°/μκ° λ¨μλ‘ λͺ¨μλ³΄κ³ μ΄λ―Έμ§λ‘ μ μ₯ κ°λ₯.
| μμΈ λ³΄κ³ μ νμΈ (νμ΄ ν μ΄λΈ) | μΌμΌ μμμ¦ μμΉ΄μ΄λΈ |
|---|---|
![]() |
![]() |
- κ³΅κ° κΈ°λ° νμ : νΉμ μμΉ(곡κ°)μ μλ μ¬μ©μλ€μ΄ λͺ¨μ¬ μ€μκ°μΌλ‘ μλ‘μ μ€ν°λ νν©μ 곡μ ν©λλ€.
- λ€μ€ μΈμμ μ€μκ° μκ° μΈ‘μ νν©μ νλμ νμ ν μ μμ΅λλ€.
| μ€ν°λ ν μμ° | μ€μκ° μκ° μΈ‘μ 곡μ |
|---|---|
![]() |
![]() |
momento/
βββ app/ # λ°°ν¬μ© APK (momento.apk)
βββ backend/ # NestJS μλ² κΈ°λ° λ°±μλ
β βββ prisma/ # DB Schema (PostgreSQL)
β βββ src/ # Business Logic (Modules)
βββ frontend/ # React Native λͺ¨λ°μΌ μ±
β βββ src/ # Screens, Components, Hooks
β βββ android/ # Native Gradle Settings
βββ image/ # README 리μμ€ λ° λ°λͺ¨ GIF










