- 꽃잎 하나하나와 같은 알바생과 사장님을 하나의 꽃처럼 맺어준다는 의미
- 빠르고 편리한 알바 지원/모집을 위한 올인원 웹 서비스
AlbaMate는 알바 구직자(지원자)와 알바 채용자(사장님)를 연결하는 알바 매칭 플랫폼입니다.
지원자는 쉽고 빠르게 알바를 찾고, 사장님은 손쉽게 알바생을 모집할 수 있습니다.
💬 "내게 맞는 알바, 지금 바로 매칭해보세요!"
➡ 🚀 배포 사이트 | 🎥 시연 영상 | 📊 발표 PPT | 📡 API 문서 | 기획 노션
-
구직자
- 알바 리스트 확인 및 필터 검색
- 알바 상세 조회 및 지원서 작성
- 내 알바 지원내역 및 상태 확인
- 마이페이지(정보 관리, 스크랩, 내가 쓴 글)
-
사장님
- 알바폼 생성 (모집 내용, 조건, 근무 환경)
- 지원자 리스트 및 상세 확인
- 내가 작성한 알바 리스트 관리
- 마이페이지(정보 관리, 내가 쓴 글/댓글)
-
알바토크 (커뮤니티)
- 알바 경험 공유, 정보 나눔
| 카테고리 | 사용 기술 | 선택 이유 |
|---|---|---|
| 프레임워크 | Next.js 15.3.5 (App Router) | 안정적인 버전, 이전 프로젝트에서 문제없음 |
| 언어 | TypeScript | 명확한 타입 계약과 자동 문서화, 사전 오류 검출로 소통과 협업 효율 및 유지보수와 생산성 향상 |
| 스타일링 | TailwindCSS | 빠르고 일관된 UI, 유지보수에 최적화 |
| API 통신 | Axios | 네트워크 요청, 인증, 에러 처리 깔끔하게 지원 |
| 상태 관리 | Zustand, Tanstack Query | 클라이언트·서버 상태 역할 분리로 효율 극대화 |
| 폼 처리 | React Hook Form + Zod | 효율적 폼 처리와 선언적 검증으로 안정성 강화 |
| 다크모드 | next-themes | SSR 지원과 자동 OS 테마 감지로 Next.js에서 쉽고 빠른 다크모드 등 테마 관리 |
| 빌드 툴 | Turbopack | Next.js에 최적화된 초고속 빌드 도구 |
| 배포 | Vercel | 간단하고 빠른 배포, Next.js와 완벽 연동 |
| 패키지 매니저 | pnpm | 빠른 설치, 엄격한 의존성 관리, 멀티 레포 최적화 |
src/
├── app/
│ ├── (auth)/ # 로그인/회원가입
│ ├── (public)/ # 랜딩/리스트/상세 등 공개 페이지
│ ├── (private)/ # 지원자/사장님 전용 페이지
│ ├── providers.tsx # 상태 관리 및 devtools
├── features/
│ ├── albalist/ # 알바 리스트 기능
│ ├── alba/ # 알바 상세
│ ├── apply/ # 알바폼 지원
│ ├── owner/ # 사장님 기능
│ ├── worker/ # 지원자 기능
├── shared/
│ ├── components/ # 공통 UI 컴포넌트 (GNB, Button, Modal 등)
│ ├── lib/ # 유틸 함수, 상수
│ ├── store/ # 전역 상태
│ └── types/ # 공통 타입 정의- 팀명: 알멩이 - 알바 메이트를 만드는 사람들(?)
| 김동한 | 문혜란 | 이태식 | 김수민 | 전유진 |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
| 마이페이지, 무한 스크롤, 배포, API 세팅 | 알바토크, 지원내역 상세 | 알바폼 생성/수정, 알바폼 지원 | 로그인/회원가입, 내 알바폼, 랜딩페이지 | 알바 목록, 알바폼 상세, 다크모드 |
| 대상 | 규칙 | 예시 |
|---|---|---|
| 폴더명 | 케밥케이스 (kebab-case) |
components, user-profile |
| 컴포넌트 파일명 | 파스칼케이스 (PascalCase) |
UserProfile.tsx |
| 스타일 파일명 | 파스칼케이스 + .styles.js |
UserProfile.styles.js |
| 이미지/아이콘 파일명 | 케밥케이스 | logo-icon.png, profile-default.png |
| 함수/변수명 | 카멜케이스 (camelCase) |
fetchUserData, userList |
| 환경변수 | 대문자 + 스네이크케이스 | NEXT_PUBLIC_API_URL |
| 불린 변수 | is__ |
isLoading, isOwner |
| 이벤트 prop | on__ |
onClick, onSearch |
| 이벤트 핸들러 함수 | handle__ |
handleClick, handleSearch |
| 브랜치명 | 용도 | 설명 |
|---|---|---|
main |
배포 브랜치 | 항상 배포 가능한 상태 유지 |
develop |
통합 브랜치 | 기능 브랜치 병합 지점 |
| 브랜치 종류 | 규칙 | 예시 |
|---|---|---|
| 기능 개발 | feature/{이슈번호} |
feature/42 |
| 버그 수정 | fix/{이슈번호} |
fix/42 |
| 리팩토링 | refactor/{이슈번호} |
refactor/42 |
| 환경 설정 | chore/{이슈번호} |
chore/42 |
| 태그 | 설명 |
|---|---|
✨ Feat |
새로운 기능 추가, UI 구성 등 |
🐛 Fix |
버그 수정 |
📦 Chore |
설정, 패키지, 빌드 관련 작업 |
♻️ Refactor |
코드 리팩토링 (기능 변화 없음) |
💄 Style |
스타일 변경 (CSS, 마진 등) |
📝 Docs |
문서 수정 (README 등) |
🚀 Deploy |
배포 관련 커밋 |
✅ Test |
테스트 코드 추가 및 수정 |




