frontendschool5 / final-19-eggplantmarket Goto Github PK
View Code? Open in Web Editor NEW가치를 지켜라! 가지마켓
Home Page: https://eggplant-market.netlify.app
가치를 지켜라! 가지마켓
Home Page: https://eggplant-market.netlify.app
페이지 이동을 수정했습니다
@@ 사진첨부나 url, 이슈사항 혹은 주의사항 작성해주시면 좋을 것 같습니다
product_add.js, product_modification.js
product_upload.html에서 productID에 따라 js 파일을 호출했는데 js 파일을 하나로 합쳐서 HTML 파일도 수정했습니다.
상품 등록
버튼을 클릭하면 상품을 등록할 수 있는 페이지가 나타납니다.저장
버튼이 활성화됩니다.@@ 사진첨부나 url, 이슈사항 혹은 주의사항 작성해주시면 좋을 것 같습니다
...
@@ 사진첨부나 url, 이슈사항 혹은 주의사항 작성해주시면 좋을 것 같습니다
Sass refactor
@@
이메일로 로그인
다음
버튼이 활성화 됩니다. 입력되지 않은 입력창이 있다면 버튼은 활성되지 않습니다.로그인
버튼을 클릭하면 이메일 주소와 로그인에 대한 유효성 검사를 진행하며, 이메일 주소 또는 비밀번호가 일치하지 않을 경우에는 경고 문구가 나타납니다.로그인
버튼을 클릭하면, 이메일 형식에 적합한지 검사를 진행하고, 형식에 어긋나면 이메일 인풋창 아래 경고 문구가 나타납니다.#DBDBDB
→ 보라색 #9747FF
)회원가입 및 프로필설정
#DBDBDB
→ 보라색 #9747FF
)다음
버튼이 활성화되며, 버튼을 클릭하면 프로필 설정 폼이 나타납니다.splash 페이지 이동
이메일로 로그인
이메일로 회원가입
프로필 설정
splash
api 요청 모듈화 작업입니다,
@@ 사진첨부나 url, 이슈사항 혹은 주의사항 작성해주시면 좋을 것 같습니다
게시물 디테일 페이지 & 게시물 업로드 페이지
게시물 업로드 페이지
게시물 디테일 페이지
footer 버그 해결
프로필 페이지에서 다시 footer의 프로필 링크를 누르면 정상 이동하지 않음 (쿼리스트링 없는 profile_info.html 로 이동)
footer.html 불러오는 코드 중복
component.js에 footer 컴포넌트를 불러오는 함수가 있고 footer를 사용하는 페이지.html에 script로 불러오나
각 페이지.js파일 내에도 footer 컴포넌트를 불러오는 코드가 중복됨
script 실행 순서
profile_info.html의 body내 script는 다음과 같음
이에따라 모듈 스크립트 profile_info.js -> 일반 스크립트 component.js 순으로 "만나게"되는데
(모듈 스크립트(비동기)와 일반 스크립트(동기)가 병렬로 실행되며, 일반 스크립트는 모듈 스크립트의 실행을 기다리지 않음)
profile_info.js를 실행할때 profile_info.js에서도 fooer 컴포넌트를 불러오고 기본 href가 쿼리스트링 없는 /profile_info.html 인 상태
(결국 component.js의 사용자 계정 쿼리스트링을 추가하는 코드가 실행되기 전이거나 실행 후 새로운 fetch로 덮어 씌어져)
프로필 페이지를 그리기 위한 데이터 요청을 하는데 쿼리스트링이 없어 발생한 버그
다음 스크립트인 component.js를 통해 링크 href가 업데이트 되지 않는 이유는,
일반 스크립트의 실행 시점과 비동기 작업의 처리 시간 차이 때문에 발생
즉, 파일 용량이 작은 일반 스크립트 로드 및 실행 완료 후 모듈 스크립트의 실행이 완료되는 경우라고 예상됨
게시글 수정
업로드 사진이 한장일때만 고려했습니다
프로필 상단 마크업
유저 검색이 가능한 페이지
검색시 받아오는 유저 몇명까지 받아올지 추후 논의가 필요할 것 같습니다!
사진 수정 후, 추가하도록 하겠습니다 :)
modal.js
페이지 통합
게시글 작성
api 명세서 5.1
게시글 작성
을 클릭하면 표시됩니다.업로드
버튼이 활성화되고, 버튼을 누르면 게시글이 업로드됩니다.공동작업 페이지 마크업
splash
로그인 메인 페이지
이메일로 로그인
을 클릭하면 이메일로 로그인할 수 있는 화면으로 이동합니다.이메일 로그인 페이지
다음
버튼이 활성화 됩니다. 입력되지 않은 입력창이 있다면 버튼은 활성되지 않습니다.로그인
버튼을 클릭하면 이메일 주소와 로그인에 대한 유효성 검사를 진행하며, 이메일 주소 또는 비밀번호가 일치하지 않을 경우에는 경고 문구가 나타납니다.#DBDBDB
-> 보라색 #9747FF
)회원가입 페이지
회원가입
을 누르거나 이메일 로그인 화면에서 이메일로 회원가입
을 누르면 회원가입 화면이 나타납니다.#DBDBDB
-> 보라색 #9747FF
)다음
버튼이 활성화되며, 버튼을 클릭하면 프로필 설정 폼이 나타납니다.404에러 페이지
웹버전 고려해서 작업하기
로그인페이지 배경은 로고 넣어져있는 이미지로 넣기
유효성 검사는 추후 기능 구현에서
브랜치명은 feature/기능명
파일명은 언더바(_) 사용
클래스명은 하이픈(-) 사용
screen reader가 읽을 수 있도록 웹접근성 고려하여 시맨틱 마크업하기!
Sass 리팩토링
postUpload.js 리팩토링
마크업도 일부 수정하였습니다 (heading 태그 삭제, 사용자프로필 기본 이미지 src 추가)
README
자잘한 버그 및 디자인 수정 사항
@@ 사진첨부나 url, 이슈사항 혹은 주의사항 작성해주시면 좋을 것 같습니다
프로필 수정 페이지
@@ 사진첨부나 url, 이슈사항 혹은 주의사항 작성해주시면 좋을 것 같습니다
postDetail.js 리팩토링
게시글 컴포넌트화 예정이라 해당 부분(displayPost함수)은 수정하지 않겠습니다~
자잘한 버그
리팩토링 진행(컴포넌트화)
�리팩토링 profile_info.js
작업하다 할거 생기면 todo도 추가하겟습니다
회원가입시 이메일 유효성 관련 버그 수정
join_membership.js에서 /user/emailvalid를 통해 이메일 중복 여부는 검사하나
유효한 이메일 형식인지는 따로 처리해준 부분이 없어서
setProfile.js에서 맞지 않는 이메일 형식으로 회원가입(submitJoinForm)하면 422 상태로 처리되지 않고 로그인 페이지로 이동
join_membership.js에 이메일 유효성 검사 부분을 작성하지 않고
폼 제출시 서버에서 온 응답(아래 참고)에 따라 res.status가 422이고 그 중 res.message가 '잘못된 이메일 형식입니다.'이면
경고창을 띄우고 회원가입 페이지로 다시 돌아가도록 변경
POST /user 응답 경우
// FAIL (= status 422)
// email, password, accountname, username 중 하나라도 작성하지 않을 경우
필수 입력사항을 입력해주세요.
// password를 6자 이상 입력하지 않을 경우
비밀번호는 6자 이상이어야 합니다.
// eamil 형식이 잘못될 경우
잘못된 이메일 형식입니다.
// 가입된 email일 경우
이미 가입된 이메일 주소입니다.
// accountname에 지정된 문자 이외의 문자가 들어갈 경우
영문, 숫자, 밑줄, 마침표만 사용할 수 있습니다.
// 가입된 accountname일 경우
이미 사용중인 계정 ID입니다.
@@ 사진첨부나 url, 이슈사항 혹은 주의사항 작성해주시면 좋을 것 같습니다
모달창 tab으로 이동
팔로워 및 팔로잉
(도전 과제)
(도전)
(로직)
마이 프로필
유저 프로필
홈 피드 페이지
가지마켙 피드는 사용자들이 올린 게시글들이 표시되는 페이지입니다.
피드에는 자신이 팔로우한 사용자의 게시글을 확인 할 수 있습니다.
팔로우한 사용자가 없을 경우와 내가 팔로우한 사용자가 올린 게시글이 없는 경우 "유저를 검색해 팔로우 해보세요!" 문구와 함께 검색하기 버튼이 표시됩니다.
사진 추후에 추가하겠습니다 :)
버그 수정
follower.js , following.js 리팩토링
내 팔로워 목록에서만 삭제 버튼 있고
" 팔로우 <-> 삭제 " 기능에서 " 팔로우 <-> 팔로잉 " + " 삭제 " 기능으로 변경한 화면
고대비 테마 적용
@@ 추후 사진 첨부 하겠습니다~
최적화
라이트 하우스 참고해서 성능 올려보겠습니다
무한스크롤
처음부터 모든 데이터를 불러오지 않고, 스크롤이 하단에 닿을때 데이터를 추가로 받아옵니다
팔로워 및 팔로잉 목록
JS 리팩토링
기존 home/feature 브랜치에서 작업하겠습니다 :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.