이제 자격증 시험도 끝났으니 지지부진하던 프로젝트를 재개할 때가 되었다.
하면서 느끼는건데 기업들 프로젝트도 올릴 수 있게 하면 좋을듯?
클라이언트들도 결국은 기업들의 프로젝트를 봐야 할 테니까.
기업계정과 취준생계정(?)
손님계정을 분리할 수 있도록 하면 어떨까 싶다.
다만 취준생과 손님은 큰 차이가 없어도 되긴 할듯?
해야 하는 부분은 크게 3가지로 나눌 수 있을 것 같다.
1. UI / 화면 흐름
2. Node.js에서 주고 받아야 할 데이터 설계
3. DB 구조 설계
UI / 화면 흐름
Flutter을 통한 웹/앱을 만들것으로 계획하고 있음.
다만, Desktop UI를 고려하지는 않을 생각. 추후 업데이트로 추가할 수도 있긴 함.
필요 권한 : 인터넷 접근, 휴대폰 저장소 접근(?)
Appbar, Drawer, Bottom 위젯들을 통해 기본적인 네비게이션을 제공할 것이며,
메인 화면에서는 각 페이지에 맞는 정보들을 제공하도록 하려 한다.
유저에게 제공될 화면들은 다음과 같다.
근데 단순하게 보기만 하는건 로그인 하지 않아도 되도록 하고싶다.
광고를 하는 회사의 포트폴리오를 먼저 표시하도록 할 수 있게?
수익모델은 광고로 충분한가? 매칭 수수료같은건 오바겠지?
어차피 수익을 목적으로 하는 프로젝트도 아니니까
비회원과 회원을 분리하여 UI를 설계해야 할 것.
1. 회원정보 / 로그인 관련 / 설정 페이지
- 로그인
- 회원가입
- 회원정보 변경
- 권한 처리(권한이 없습니다!) / 에러코드?
2. 포트폴리오 관련 페이지
- 포트폴리오 목록
- 포트폴리오 READ
- 포트폴리오 카테고리
- 포트폴리오 작성 / 수정
- 포트폴리오 삭제
- 포트폴리오 필터 (이 사람/기업의 포트폴리오 보지 않기, 어떤 기술만 보기/어떤 기술만 보지않기, 원하는 인력 종류)
3. 스크랩 / 친구 / 메세지
- 즐겨찾기 / 구독?
- 알림
- 건의 / 신고
4. 고객 종류별 페이지 / 기능
- 고객의 경우 내가 원하는 포트폴리오(원하는 기술, 평점, 액수(?)같은걸 만족하는 애들로)
- 일반적으론 나의 지금까지의 포트폴리오? 기업들의 요구사항? -> 일종의 블로그로 생각하려 했는데 모양이 바뀌네
- 기업 회원은 고용주의 입장.
백엔드가 연결이 안될때는 어떻게 해야하지?
화면 구성 임시
- 설정화면?
- 기본 회원 관련
- 로그인 -> ID/PW 입력창, 회원가입/ID PW찾기로 이동 창/ API를 통한 로그인
- 회원가입 -> (필수)ID/PW, 닉네임, (선택)관심분야, 사용기술, 이메일, 휴대폰, 회사
- ID/PW 찾기
- 내 정보(마이페이지) -> 내 개인정보 공개여부 설정
- API를 통한 로그인이나 회원가입은 아직 공부가 많이 필요한 부분이므로 보류한다.
- 스크랩 / 좋아요 / 댓글
- 메인페이지
- 메인페이지 -> 내 명함 카드, 내 포트폴리오 목록(선택에 따라서는 찜한 포트폴리오들)
- 포트폴리오 관련
- //내 포트폴리오 말고, 검색해서도 볼 수 있어야 함. 일반적으로 최근순, 좋아요순, 인기순 정도가 있을까
- //필터를 걸어서 해당하는 아이들만 데려오도록 하는것도 필요하다.
- 명함카드
- 포트폴리오 조회 페이지
- 채팅 / 대화 페이지
- 팔로우 / 팔로워
- 채팅
Node.js에서 주고 받아야 할 데이터 설계
프론트(클라이언트) <-> 서버
서버 <-> DB 서버
프론트엔드에서 이미지를 전달받으면, 썸네일과 원본이미지로 분리해 사용할 수 있어야 할 것 같은데...
그럼 DB 구조에도 영향을 미치게 되겠네.
기본적으로 프론트로부터 요청받을 데이터는 크게
고객의 데이터
포트폴리오의 데이터
이렇게 볼 수 있을 것 같다.
DB 구조 설계
일단은 DB는 maria DB 사용하려고 고려중에 있음.
이미지 서버는 어떻게 제공해야하지?
우선 각각의 파일은 고유의 파일번호, 게시글(포트폴리오) 번호, 파일타입, 이미지의 경우는 썸네일까지
원본파일을 꼭 저장해야 하나? 그래도 없는건 좀 그런가?
썸네일을 사용하지 않아버리는것도 생각했었지만, 용량이 크면 네트워크 부하가 커지는게 걱정이라...
클라이언트의 경험도 나빠질 수밖에 없을 것.
반정규화는 그렇게 필수적이진 않을듯? 그냥 썸네일모음 테이블에 접근하도록 해도 무방할 것 같다.
어차피 대부분의 파일은 썸네일만 보고 지나갈테니
물론, 파일을 백엔드에서 저장하는게 아니라, 이미지 링크만 저장한다면 복잡해질 여지는 있을것 같다.
계속 새로운 글을 작성하게 될 테니, 묻히게 되는데 길어지면 하이퍼링크를 통해 정리를 해보자.
이번 프로젝트를 완료하고 나면, 프로젝트 설계/기획서를 정리하며 작성하는 앱같은걸 만들어도 괜찮을듯? ㅋㅋ
철저하게 개발과정에 맞춰서 말이지.
'개발 > portfolio gallery' 카테고리의 다른 글
화면 구성 (0) | 2023.03.23 |
---|---|
작업 기록 정리 (0) | 2023.03.23 |
계획 (0) | 2023.03.07 |
일단 서버를 만들긴 만들었다. (0) | 2023.02.25 |
Node.js 기본 세팅 (0) | 2023.02.24 |