💻 Java Console 기반 IT 단기 아르바이트 · 프로젝트 매칭
ALBAIT은 기업과 개인 회원을 연결해 단기 IT 아르바이트/프로젝트 채용을 지원하는 콘솔 기반 플랫폼입니다.
- 기업: 공고 등록/관리, 지원자 목록 조회, 상태 변경
- 개인: 이력서 등록, 공고 검색 및 지원, 지원 현황 확인
핵심 아이디어: 텍스트 기반 콘솔 환경에서도 실제 구인·구직 과정을 최대한 현실적으로 모사하도록 설계
목표:
IT 직무 실습 프로젝트로, 데이터베이스 설계·DAO/VO 구현·UI 분리 패턴을 통해 실제 구직 서비스 구조를 간접적으로 경험
![]() 기업 로그인 화면 |
![]() 개인 로그인 화면 |
설명
- 기업/개인/관리자 계정 유형에 따라 다른 메뉴 제공
- 로그인 후 각자의 권한에 맞는 기능만 접근 가능
- 잘못된 로그인 시도에 대한 예외 처리 포함
![]() 기업 회원 – 공고 작성 |
![]() 채용 공고 목록 |
설명
- 기업 회원은 공고를 등록/수정/삭제할 수 있습니다.
- 공고에는 마감일, 급여, 근무 형태(정규/알바/인턴), 지역 등의 속성이 포함됩니다.
- 모든 사용자는 공고 리스트를 열람할 수 있습니다.
![]() 기업 회원 - 지원자 조회 |
![]() 개인 회원 – 지원 및 상태 확인 |
설명
- 개인 회원: 자신의 지원 현황/결과를 확인할 수 있습니다.
- 기업 회원: 공고별 지원자 목록을 보고, 지원 상태를 변경할 수 있습니다.
- 지원 상태(코드 → 의미)
APPLIED→ 지원 완료UNDER_REVIEW→ 검토 중INTERVIEW→ 면접PASSED→ 합격REJECTED→ 불합격WITHDRAWN→ 지원 취소
- 기업 회원이
job_post에 공고를 등록 - 개인 회원이 공고에 지원 →
apply에 (user_no, post_id) 저장 - 기업은
apply를 통해 지원자 목록을 확인하고 상태 변경 - 개인은 자신의 지원 현황을 조회
- 설계 목적: 회원, 공고, 지원 정보를 분리하여 중복을 최소화하고, 일관된 데이터를 유지합니다.
- 핵심 개념:
apply는 “누가 어떤 공고에 지원했는가”만 저장하며, 상세 정보는JOIN으로 조회합니다.
- user_table: 회원 기본 정보
(user_no,user_id,name,nickname,user_type,reg_date) - job_post: 채용 공고 정보
(post_id,title,user_id(기업 계정),deadline, …) - apply: 지원 내역(관계 테이블)
(apply_id,user_no(FK),post_id(FK),status,apply_date)- 상태:
APPLIED / UNDER_REVIEW / INTERVIEW / PASSED / REJECTED / WITHDRAWN - 중복 방지: (user_no, post_id) 유니크 제약
- 상태:
- 단순히 기능을 구현하는 것을 넘어, DB 설계–Java 객체 매핑–UI 흐름까지 전체 개발 프로세스를 경험할 수 있습니다.
- 관계형 데이터베이스 학습: 회원/공고/지원 테이블을 통해 1:N 관계, FK 제약, 중복 방지(Unique 제약) 같은 개념을 실습
- 객체지향 프로그래밍 학습: VO(Value Object), DAO(Data Access Object) 패턴을 직접 구현하면서 캡슐화, 데이터 추상화의 개념을 익힘
- UI/로직 분리 학습: 콘솔 UI를 단순 출력에 그치지 않고, 로직과 분리해 유지보수가 가능한 구조로 구현 → MVC 패턴의 기초 체험
- 프로젝트 경험: 협업, Git 브랜치 관리, 요구사항 기반 기능 분리 경험을 통해 실제 팀 프로젝트와 유사한 흐름을 연습







