위리브는 입주민과 아파트 관리 단체를 위한 상호 관리 플랫폼입니다.
아파트 운영은 단순히 공지사항을 전달하는 수준을 넘어 입주민 명부 관리, 민원 처리, 주민 투표 등 다양한 관리 업무가 동시에 이루어져야 합니다. 위리브는 이러한 불편함을 해결하기 위해 아파트 관리의 모든 기능을 하나의 플랫폼 제공하는 올인원 시스템입니다. 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