---
# System prepended metadata

title: 요구사항명세 초안

---


회원가입 페이지
- 우측 상단의 회원가입 버튼을 눌러 회원 정보 입력 페이지로 이동 

- 회원가입
    - 아이디, 비밀번호, 비밀번호 확인, 이메일, 지역, 기술스택, 소속 입력

로그인 페이지
- 우측 상단의 로그인 버튼을 눌러 로그인 페이지로 이동

- 자체 로그인
    - 아이디, 비밀번호 입력
    - 아이디 찾기
    - 비밀번호 찾기
- 소셜 로그인
    - 구글, 카카오, 네이버 로그인

메인 페이지
메인페이지 메뉴로는 홈, 프로젝트, 스터디가 있고 로그인을 안한 상태에서는 로그인/회원가입 버튼이 보이고 로그인 후에는 글 작성, 알림, 마이페이지 버튼이 보임
- 홈
    - 인기글
        - 조회수를 기준으로 인기글 상위 10개 조회
    - 프로젝트
        - 작성일자를 기준으로 최신글 10개 조회
    - 스터디
        - 작성일자를 기준으로 최신글 10개 조회
- 프로젝트 / 스터디
    - 검색
        - 프로젝트/스터디에 해당하는 기술스택,포지션,지역,진행방식을 키워드로 검색
    - 분류
        - 기술스택
            - 너무 많아,,
        - 포지션
            - 프론트엔드,백엔드,IOS,안드로이드,데브옵스, 디자이너
        - 지역 
            - 서울,수원,인천,대구,부산,울산,광주,전주,대전,세종,천안,청주,원주,춘천,제주,기타
        - 모집상태
            - 온라인,오프라인,온/오프라인
        - 모집 여부
            - 모집중, 모집 완료
    - 프로젝트/스터디 조회
        - 지역,모집 상태,마감일,스크랩,제목,기술스택,포지션,조회수,댓글수 조회
    - 스크랩 버튼
        - 로그인 하지 않은 사용자는 로그인 페이지로 이동
        - 로그인 한 사용자는 클릭 시 스크랩 기능
    - 글 작성 버튼
        - 클릭 시 프로젝트 작성 페이지로 이동
    - 알림 버튼
        - 모집 신청 알림,작성글의 댓글 알림,대댓글 알림 
    - 마이페이지 버튼
        - 클릭 시 마이페이지로 이동




마이 페이지
메인 페이지에서 마이 페이지 버튼을 클릭하면 마이 페이지 메인 화면으로 이동
마이 페이지는 크게 내 정보(회원정보 확인, 회원정보 수정), 내 활동(작성한 글, 내 관심 글, 댓글단 글)로 나뉨

- 회원정보 확인 페이지
    - 회원정보 확인을 클릭하면 회원정보 확인 화면으로 이동
    - 회원정보를 확인 가능
    - 회원 정보
        - 닉네임: 회원의 이름
        - 거주 지역: 거주 지역으로 설정한 지역
        - 포지션: 프론트엔드, 백엔드, AI 등등
        - 기술 스택: 스프링, MySQL, 자바 등등
        - 소속: 학교/회사/기타 
        
- 회원정보 수정 페이지
    - 각각의 회원정보에 대해 수정하고자 하는 값을 입력하면, 수정된 값으로 회원정보가 변경됨 (회원 정보는 회원정보 확인 페이지와 동일)
    - 회원정보 확인 페이지로 이동했을 때 수정된 정보가 반영돼야 함
    
- 작성한 글
    - 내가 작성한 글에 대한 목록을 보여 줌
    - 작성한 글을 클릭 시 해당 글이 작성된 페이지로 이동
    - 최신순으로 작성한 글 10개씩 보여주기
    - 10개가 넘어가면 페이징 기능 이용
    - 목록의 세부 내용
        - 글 제목: 작성 글 제목
        - 작성일: 작성한 글의 작성일
        - 지역: 서울, 수원, 천안, 대전, ...
        - 모집분야: 스터디/프로젝트
        - 댓글: 댓글 수 표시
        - 수정: 수정 버튼 클릭 시 수정 화면으로 이동
        - 삭제: 삭제 버튼 클릭 시 삭제할지 말지 확인 후 삭제
        
- 내 관심 글
    - 내가 스크랩한 글에 대한 목록을 보여 줌
    - 스크랩한 글을 클릭 시 해당 글이 작성된 페이지로 이동
    - 마감순으로 작성한 글 10개씩 보여주기 
    - 10개가 넘어가면 페이징 기능 이용
    - 목록의 세부 내용
        - 글 제목: 관심 글 제목
        - 마감일: 관심 글의 마감일
        - 모집 여부: 모집 중/모집 완료
        - 지역: 서울, 수원, 천안, 대전, ...
        - 모집분야: 스터디/프로젝트 
        - 댓글: 댓글 수 표시
        
- 댓글 단 글
    - 댓글 단 글에 대한 목록을 보여 줌
    - 댓글 단 글을 클릭 시 해당 글이 작성된 페이지로 이동
    - 최신순으로 10개씩 보여 줌
    - 10개가 넘어가면 페이징 기능 이용
    - 목록의 세부 내용
        - 글 제목: 댓글 단 글의 제목
        - 댓글 내용: 내가 작성한 댓글 내용
        - 작성 시간: 댓글을 작성한 시간



프로젝트 생성 페이지
- 모집할 회원은 프로젝트 명, 프로젝트 주제, 프로젝트 분야, 지역, 모집 마감일, 모집 포지션 추가
    - 모집 포지션에 대한 인원을 지정할 수 있음
- 프로젝트 설명 작성
- 기술/언어 태그 추가
    - \#을 이용하여 추가
    - 최대 10개 까지 허용
- 프로젝트 대표 이미지 설정
    - 주제별 이미지 선택 가능
    - 직접 이미지 선택하여 파일 업로드 가능
        - 단, 파일 형식 및 크기 제한
    - 선택하지 않을 수도 있음 -> default 이미지

프로젝트 상세 페이지
- 프로젝트 제목 바로 아래에 모집 상태(모집완료, 모집중) 띄워줌
- 우측 상단에 조회수, 북마크, 좋아요 출력
    - 로그인한 사용자만 북마크, 좋아요 가능
    - 로그인 하지 않은 사용자가 북마크 및 좋아요 버튼을 클릭했을 때 로그인 팝업창 출력
- 상세 페이지 상단에 포지션에 대한 모집 현황을 띄워주고, 각 포지션에 대한 모집완료 여부를 알 수 있도록 함
    - 지원 포지션에 대해 모집 완료가 아닐 시, 버튼을 클릭하여 지원할 수 있도록 함
    - 특정 포지션이 모집 완료일 경우, 선택 불가
- 각 프로젝트 상세에 대해서는 댓글 달기 가능
    - 대댓글 불가??
    - 입력 폼에 댓글 입력 후, 댓글 등록
        - 댓글 입력은 로그인한 사용자만 가능
            - 로그인한 사용자는 정상적으로 댓글 등록
            - 로그인 하지 않은 사용자가 댓글 등록 버튼을 눌렀을 때, 로그인 팝업창 출력
    - 본인이 작성한 댓글에 대해서만 수정 및 삭제 가능
        - 그렇지 않을 경우 조회만
- 회원 Role에 따라 프로젝트 상세 페이지의 수정 권한을 다르게 줌
    - 해당 프로젝트 생성자일 경우, 버튼을 보이게 하여 수정 및 삭제 가능
        - 수정 버튼 클릭 시 프로젝트 수정 페이지로 이동
        - 삭제 버튼 클릭 시 확인 절차 팝업창 띄운 후 취소,삭제 선택 가능
    - 프로젝트 생성자가 아닐 경우, 버튼 invisible -> 조회만 가능(READ ONLY)


















