μ리λΈλ μ μ£Όλ―Όκ³Ό μννΈ κ΄λ¦¬ λ¨μ²΄λ₯Ό μν μνΈ κ΄λ¦¬ νλ«νΌμ λλ€.
μννΈ μ΄μμ λ¨μν 곡μ§μ¬νμ μ λ¬νλ μμ€μ λμ΄ μ μ£Όλ―Ό λͺ λΆ κ΄λ¦¬, λ―Όμ μ²λ¦¬, μ£Όλ―Ό ν¬ν λ± λ€μν κ΄λ¦¬ μ λ¬΄κ° λμμ μ΄λ£¨μ΄μ ΈμΌ ν©λλ€. μ리λΈλ μ΄λ¬ν λΆνΈν¨μ ν΄κ²°νκΈ° μν΄ μννΈ κ΄λ¦¬μ λͺ¨λ κΈ°λ₯μ νλμ νλ«νΌ μ 곡νλ μ¬μΈμ μμ€ν μ λλ€. Team. SECURITY
| μ΄λ¦ | μν | GitHub | κ°μΈ κ°λ° λΈλ‘κ·Έ |
|---|---|---|---|
| μ€μ°½μ | λ°±μλ κ°λ° | π GitHub | π λ Έμ |
| μλ€μ¨ | λ°±μλ κ°λ° | π GitHub | π |
| μ μ§μ | λ°±μλ κ°λ° | π GitHub | π |
| μ΅μ§ν | λ°±μλ κ°λ° | π GitHub | π λ Έμ |
-
νλ‘μ νΈ λͺ : WeLive (μ리λΈ)
-
μ€λͺ :
μ리λΈλ μννΈ μ£Όλ―Όκ³Ό κ΄λ¦¬μ¬λ¬΄μκ° νλμ νλ«νΌμμ
곡μ§, λ―Όμ, ν¬ν, μλ¦Ό λ±μ μμ νκ² κ΄λ¦¬νκ³ μν΅ν μ μλλ‘ μ§μνλ μλΉμ€μ λλ€. -
νλ‘μ νΈ κΈ°κ°: 2026.01.05 ~ 2026.02.10
| κ΅¬λΆ | μ¬μ© κΈ°μ |
|---|---|
| Backend | Node.js, Express.js, PrismaORM, TypeScript |
| Database | PostgreSQL |
| κ³΅ν΅ Tool | Git & GitHub, Discord, Notion, Notion Timeline |
| Infra / External | Redis, AWS S3, Server-Sent Events (SSE) |
(μμ μ΄ κ°λ°ν κΈ°λ₯μ λν μ¬μ§μ΄λ gif νμΌ μ²¨λΆ)
- Auth
- 1.λ‘κ·ΈμΈ Β Β - /api/v2/auth/login
- 2.λ‘κ·Έμμ Β Β - /api/v2/auth/logout
- 3.ν ν° κ°±μ Β Β - /api/v2/auth/refresh
- User
- 1.μνΌ κ΄λ¦¬μ κ³μ μμ± Β Β - /api/v2/users/super-admins
- 2.κ΄λ¦¬μ κ³μ μμ± Β Β - /api/v2/users/admins
- 3.μ£Όλ―Ό κ³μ μμ± Β Β - /api/v2/users/residents
- 4.[μνΌ κ΄λ¦¬μ κΆν νμ] κ΄λ¦¬μ κ³μ λͺ©λ‘ μ‘°ν Β Β - /api/v2/users/admins
- 5.[μνΌ κ΄λ¦¬μ κΆν νμ] κ΄λ¦¬μ κ³μ κ°μ μν λ³κ²½(λ€κ±΄) Β Β - /api/v2/users/admins/join-status
- 6.[μνΌ κ΄λ¦¬μ κΆν νμ] κ΄λ¦¬μ κ³μ κ°μ μν λ³κ²½(λ¨κ±΄) Β Β - /api/v2/users/admins/:adminId/join-status
- 7.[μνΌ κ΄λ¦¬μ κΆν νμ] κ΄λ¦¬μ κ³μ μ 보(μννΈ μ 보 ν¬ν¨) μμ Β Β - /api/v2/users/admins/:adminId
- 8.[μνΌ κ΄λ¦¬μ κΆν νμ] κ΄λ¦¬μ κ³μ μμ Β Β - /api/v2/users/admins/:adminId
- 9.[μνΌ κ΄λ¦¬μ κΆν νμ] κ±°μ λ κ΄λ¦¬μ κ³μ (μννΈ μ 보 ν¬ν¨) μΌκ΄ μμ Β Β - /api/v2/users/admins/rejected
- 10.[κ΄λ¦¬μ κΆν νμ] μ£Όλ―Ό κ³μ λͺ©λ‘ μ‘°ν Β Β - /api/v2/users/residents
- 11.[κ΄λ¦¬μ κΆν νμ] μ£Όλ―Ό κ³μ κ°μ μν λ³κ²½(λ€κ±΄) Β Β - /api/v2/users/residents/join-status
- 12.[κ΄λ¦¬μ κΆν νμ] μ£Όλ―Ό κ³μ κ°μ μν λ³κ²½(λ¨κ±΄) Β Β - /api/v2/users/residents/:residentId/join-status
- 13.[κ΄λ¦¬μ κΆν νμ] κ±°μ λ μ£Όλ―Ό κ³μ μΌκ΄ μμ Β Β - /api/v2/users/residents/rejected
- 14.νλ‘ν μ΄λ―Έμ§ μμ (μνΌ κ΄λ¦¬μ μ μΈ) Β Β - /api/v2/users/me/avatar
- 15.λΉλ°λ²νΈ λ³κ²½Β (μνΌ κ΄λ¦¬μ μ μΈ) Β Β - /api/v2/users/me/password
- etc
- 1.κ΄λ¦¬μ μ 보 μμ μ μν μμΈμ‘°ν
- /api/v2/users/admins/:adminId
- 2.κ°μΈ μ 보 μμΈ μ‘°ν (μνΌ κ΄λ¦¬μ μ μΈ)
- /api/v2/users/me
- 1.κ΄λ¦¬μ μ 보 μμ μ μν μμΈμ‘°ν
(μμ μ΄ κ°λ°ν κΈ°λ₯μ λν μ¬μ§μ΄λ gif νμΌ μ²¨λΆ)
- λ―Όμ(Complaints) λλ©μΈ
- λ―Όμ λ±λ‘ / λ―Όμ μμ / λ―Όμ μμ
- λ―Όμ μ‘°ν / SSE μλ¦Ό
- λ―Όμ κ΄λ ¨ Notification μ°λ
- ν¬ν(Polls) λλ©μΈ
- ν¬ν λ±λ‘ / ν¬ν λͺ©λ‘ μ‘°ν / ν¬ν μμΈ μ‘°ν
- ν¬ν μμ / ν¬ν μμ / ν¬ν μν κ΄λ¦¬
(μμ μ΄ κ°λ°ν κΈ°λ₯μ λν μ¬μ§μ΄λ gif νμΌ μ²¨λΆ)
-
π Notices (곡μ§μ¬ν κ΄λ¦¬)
-
κ΄λ¦¬μ κΈ°λ₯
-
곡μ§μ¬ν λ±λ‘
POST /api/v2/notices (κ΄λ¦¬μ κΆν νμ) -
곡μ§μ¬ν μμ
PATCH /api/v2/notices/{noticeId} (κ΄λ¦¬μ κΆν νμ) -
곡μ§μ¬ν μμ
DELETE /api/v2/notices/{noticeId} (κ΄λ¦¬μ κΆν νμ)
-
-
κ³΅ν΅ κΈ°λ₯
-
곡μ§μ¬ν λͺ©λ‘ μ‘°ν
GET /api/v2/notices -
곡μ§μ¬ν μμΈ μ‘°ν
GET /api/v2/notices/{noticeId}
-
-
-
π¬ Comments (λκΈ κ΄λ¦¬)
- κ³΅ν΅ κΈ°λ₯
-
λκΈ μμ±
POST /api/v2/comments -
λκΈ λͺ©λ‘ μ‘°ν
GET /api/v2/comments -
λκΈ μμ
PATCH /api/v2/comments/{commentId} -
λκΈ μμ
DELETE /api/v2/comments/{commentId}
-
- κ³΅ν΅ κΈ°λ₯
-
π Events (μ΄λ²€νΈ κ΄λ¦¬)
- κ³΅ν΅ κΈ°λ₯
- μ΄λ²€νΈ λͺ©λ‘ μ‘°ν
GET /api/v2/events
- μ΄λ²€νΈ λͺ©λ‘ μ‘°ν
- κ³΅ν΅ κΈ°λ₯
λ³Έ νλ‘μ νΈλ λ μ΄μ΄λ μν€ν μ² + λλ©μΈ μ€μ¬ μ€κ³λ₯Ό κΈ°λ°μΌλ‘ ꡬμ±λμ΄ μμ΅λλ€.
_common
β κ³΅ν΅ μμΈ, λ―Έλ€μ¨μ΄, ν¬νΈ(interface), μ νΈλ¦¬ν°_infra
β DB, Redis, μΈλΆ μμ€ν , Repository ꡬν체_modules
β μ€μ λΉμ¦λμ€ λλ©μΈ λ¨μ λͺ¨λ (Controller / Service / UseCase)ports
β μμ‘΄μ± μμ μ μν μΈν°νμ΄μ€ κ³μΈ΅test
β API(E2E) / Unit ν μ€νΈ λΆλ¦¬ ꡬμ±
welive
ββ Dockerfile
ββ README.md
ββ package.json
ββ tsconfig.json
ββ prisma
β ββ schema.prisma
ββ src
ββ _common # μ μ κ³΅ν΅ μμ (Framework / Cross-cutting)
β ββ exceptions # λΉμ¦λμ€ / κΈ°μ μμΈ μ μ
β ββ middlewares # κ³΅ν΅ λ―Έλ€μ¨μ΄
β ββ http # HTTP μλ¬ / μλ΅ λ§€ν
β ββ ports # μΈλΆ/μΈνλΌ μμ‘΄ μΈν°νμ΄μ€
β β ββ db
β β ββ externals
β β ββ managers
β β ββ mappers
β β ββ middlewares
β β ββ repos
β ββ utils # κ³΅ν΅ μ νΈ
β ββ sse # SSE κ³΅ν΅ λ‘μ§
β ββ types # κΈλ‘λ² νμ
νμ₯
β
ββ _infra # μΈνλΌ κ΅¬ν체 μμ
β ββ db # DB / Unit of Work / Transaction
β ββ repos # Repository ꡬν체
β ββ externals # Redis, S3 λ± μΈλΆ μμ€ν
β ββ manager # μνΈν, ν΄μ λ§€λμ
β ββ mappers # Entity β Persistence Mapper
β ββ sse # SSE μΈνλΌ κ΅¬ν
β ββ storage # νμΌ μ€ν 리μ§
β
ββ _modules # λλ©μΈ μ€μ¬ κΈ°λ₯ λͺ¨λ
β ββ _base # κ³΅ν΅ Controller / Router λ² μ΄μ€
β ββ apartments
β ββ auth
β ββ comments
β ββ complaints
β ββ events
β ββ notices
β ββ notification
β ββ polls
β ββ residents
β ββ users
β
ββ servers # μλ² μ§μ
μ
β ββ http-server.ts
ββ app.ts # μ ν리μΌμ΄μ
μ€μ
ββ injector.ts # μμ‘΄μ± μ£Όμ
μ€μ
ββ test # API / Unit ν
μ€νΈ
- μνΌ κ΄λ¦¬μ μμ΄λ : superAdmin
- μνΌ κ΄λ¦¬μ λΉλ°λ²νΈ : test!@1234