Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kdt0 YunJiYoung 직원 사진 관리 서비스 #47

Open
wants to merge 36 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
2798c60
Feat: Add index
developer-jyyun Aug 9, 2023
3b85946
Feat: Add upload & login
developer-jyyun Aug 10, 2023
a491878
Correct: close section tag
developer-jyyun Aug 10, 2023
ec35453
Feat: Add detail page
developer-jyyun Aug 10, 2023
d831dfd
Fix: Delete form tag
developer-jyyun Aug 10, 2023
5a28ac1
Design: Modify layout(index,upload)
developer-jyyun Aug 10, 2023
6ab7483
Feat: Add onAuthStateChanged
developer-jyyun Aug 11, 2023
ad58f93
Feat: Add upload permission
developer-jyyun Aug 11, 2023
6113e2a
fix: Modify detail path(href)
developer-jyyun Aug 11, 2023
8150a30
Feat: Add DB_uid, DB_username
developer-jyyun Aug 11, 2023
cc9c04f
Feat: Add edit page
developer-jyyun Aug 12, 2023
1aeb1d3
Docs: Change field name
developer-jyyun Aug 12, 2023
90d8322
Feat: DB delete
developer-jyyun Aug 12, 2023
5931373
Feat: Preview, login check
developer-jyyun Aug 18, 2023
7237b5b
Docs:Add firebase.js
developer-jyyun Aug 18, 2023
e1fe100
Feat:Add loading page
developer-jyyun Aug 18, 2023
3b15ad8
Feat: Add loading page
developer-jyyun Aug 18, 2023
45ec51a
Fix:login_edit/delete
developer-jyyun Aug 18, 2023
3986b80
Chore:Modify design
developer-jyyun Aug 18, 2023
39c6efd
Add:userflow, readme
developer-jyyun Aug 18, 2023
df0a883
Update README.md
developer-jyyun Aug 18, 2023
7e42e40
Fix: login alert
developer-jyyun Aug 19, 2023
8adbc2d
Fix : Login error
developer-jyyun Aug 19, 2023
42c71e6
Fix: Loading
developer-jyyun Aug 19, 2023
8579876
Fix: Remove remove class
developer-jyyun Aug 19, 2023
1cea78b
Merge branch 'KDT0_YunJiYoung' of https://github.com/KDT1-FE/Y_FE_JAV…
developer-jyyun Aug 19, 2023
f65db11
Fix: Url
developer-jyyun Aug 19, 2023
d02f167
edit path
developer-jyyun Aug 19, 2023
568a2ff
Delete delete.js
developer-jyyun Aug 19, 2023
afa4035
Delete keyframes.css
developer-jyyun Aug 19, 2023
4813e76
Fix:pocation path
developer-jyyun Aug 19, 2023
afe7aa5
Design: Modify profile name(text-overflow)
developer-jyyun Aug 21, 2023
233d7d3
Merge branch 'KDT0_YunJiYoung' of https://github.com/KDT1-FE/Y_FE_JAV…
developer-jyyun Aug 21, 2023
0bcd59c
Design: Modify profile name(#detail)
developer-jyyun Aug 21, 2023
17af9ae
Fix:Login_user name
developer-jyyun Aug 21, 2023
e8930e0
Fix:Login user name
developer-jyyun Aug 21, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .firebaserc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"projects": {
"default": "javascript-picture"
}
}
70 changes: 70 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
firebase-debug.log*
firebase-debug.*.log*

# Firebase cache
.firebase/

# Firebase config

# Uncomment this if you'd like others to create their own Firebase project.
# For a team working on the same Firebase project(s), it is recommended to leave
# it commented so all members can deploy to the same project(s) in .firebaserc.
# .firebaserc

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env


# Ignore IDE specific files
.vscode/
64 changes: 29 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,43 @@

# :camera: 직원 사진 관리 서비스

직원들의 사진을 관리할 수 있는 사진 관리자 서비스를 만들어 보세요.

과제 수행 및 리뷰 기간은 별도 공지를 참고하세요!
## [과제 수행 및 제출 방법]
1. 현재 저장소를 로컬에 클론(Clone)합니다.
2. 자신의 본명으로 브랜치를 생성합니다.(구분 가능하도록 본명을 꼭 파스칼케이스로 표시하세요, git branch KDT0_이름)
3. 자신의 본명 브랜치에서 과제를 수행합니다.
4. 과제 수행이 완료되면, 자신의 본명 브랜치를 원격 저장소에 푸시(Push)합니다.(main 브랜치에 푸시하지 않도록 꼭 주의하세요, git push origin KDT0_이름)
5. 저장소에서 main 브랜치를 대상으로 Pull Request 생성하면, 과제 제출이 완료됩니다!(E.g, main <== KDT0_이름)
6. Pull Request 링크를 LMS로도 제출해 주셔야 합니다.
7. main 혹은 다른 사람의 브랜치로 절대 병합하지 않도록 주의하세요!
8. Pull Request에서 보이는 설명을 다른 사람들이 이해하기 쉽도록 꼼꼼하게 작성하세요!
9. Pull Request에서 과제 제출 후 절대 병합(Merge)하지 않도록 주의하세요!
10. 과제 수행 및 제출 과정에서 문제가 발생한 경우, 바로 담당 멘토나 강사에서 얘기하세요!

## [필수 요구사항]
- “AWS S3 / Firebase 같은 서비스”를 이용하여 사진을 관리할 수 있는 페이지를 구현하세요.
- 프로필 페이지를 개발하세요.
- 스크롤이 가능한 형태의 리스팅 페이지를 개발하세요.
- 전체 페이지 데스크탑-모바일 반응형 페이지를 개발하세요.
- 사진을 등록, 수정, 삭제가 가능해야 합니다.
- 유저 플로우를 제작하여 리드미에 추가하세요.
## 직원들의 사진을 관리할 수 있는 사진 관리자 서비스
https://javascript-picture.web.app/index.html

ID: [email protected]

PW: 123456
Comment on lines +7 to +9
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

placeholder에 이 정보를 대범하게 넣어두신 두 번째 분이십니다.
혹시나 싶어서 로그인해봤는데 되길래 놀랐습니다...ㅋㅋㅋ

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

앗 어드민 권한 가진 id의 테스트를 해볼 수 있도록 적어두려다 placehorder에 넣어두었습니다....
넣어두면서도 찜짐했었는데.. 아무리 과제여도...빼는 것이 좋겠죠..?😂


- 비로그인시 데이터 조회만 가능합니다.

- [email protected]으로 로그인 시 모든 데이터의 등록 / 수정 / 삭제가 가능합니다. 😊

- 회원가입/로그인 시 자신이 사진 등록 가능하며, 작성자와 로그인 한 유저가 동일 할 경우에 등록한 사진의 수정, 삭제가 가능합니다.


## [구현범위]
- “Firebase 서비스”를 이용하여 사진을 관리할 수 있는 페이지를 구현
- 프로필 페이지를 개발
- 스크롤이 가능한 형태의 리스팅 페이지를 개발
- 전체 페이지 데스크탑-모바일 반응형 페이지를 개발
- 사진 등록, 수정, 삭제 가능
- 로그인 / 회원가입 페이지 개발

* CSS
* 애니메이션 구현
* 상대수치 사용(rem, em)
* JavaScript
* DOM event 조작

## [선택 요구사항]
- 사진 관리 페이지와 관련된 기타 기능도 고려해 보세요.
- 페이지가 보여지기 전에 로딩 애니메이션이 보이도록 만들어보세요.
- 직원을 등록, 수정, 삭제가 가능하게 해보세요.
- 직원 검색 기능을 추가해 보세요.
- infinity scroll 기능을 추가해 보세요.
- 사진을 편집할 수 있는 기능을 추가해 보세요.
- 직원을 등록, 수정, 삭제가 가능
- infinity scroll 기능
- LocalStorage 사용

## [화면 예시]
![Untitled (1)](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/38754963/5dda6755-2501-4af4-bc3e-b63a353c44c2)

![Untitled (2)](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/38754963/6c1805f1-2b00-453e-a729-2b483612726d)
- 로딩페이지 구현

## [흐름]
![Untitled](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/38754963/e2934c05-26f6-4ef6-88d4-beed76aa007a)
![userflow](https://firebasestorage.googleapis.com/v0/b/javascript-picture.appspot.com/o/image%2Fuserflow.JPG?alt=media&token=1164b946-69e6-411b-ad31-93facf55cbab)


## [필요한 작업]
- 검색 / 정렬 기능
- 데이터 유효성 검사
113 changes: 113 additions & 0 deletions et HEAD~1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 파일은 어쩌다 추가된 걸까요?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

커밋을 잘못하여 리셋 작업을 하였는데 그 때 추가되었습니다!

Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
commit 4808e2bd550a4a6092a626020846f74c45adb156 (HEAD -> KDT0_YunJiYoung)
Author: developer-jyyun <[email protected]>
Date: Fri Aug 18 19:36:47 2023 +0900

Feat: Add loading page

commit 7237b5be8b68fa40f023fcaf80bf1540e7c0f6a4
Author: developer-jyyun <[email protected]>
Date: Fri Aug 18 15:12:21 2023 +0900

Docs:Add firebase.js

commit 5931373c1aa1cb86d695c47c20abed21223c3529
Author: developer-jyyun <[email protected]>
Date: Fri Aug 18 14:40:25 2023 +0900

Feat: Preview, login check

commit 90d83226271c8f20ce973ee81f21599e09b15253
Author: developer-jyyun <[email protected]>
Date: Sat Aug 12 17:43:58 2023 +0900

Feat: DB delete

commit 1aeb1d30bfce690babb9755d822b4638fc65cbbd
Author: developer-jyyun <[email protected]>
Date: Sat Aug 12 16:36:34 2023 +0900

Docs: Change field name

commit cc9c04f599ecb16b401c3d52cdbb927c2afcc5f9
Author: developer-jyyun <[email protected]>
Date: Sat Aug 12 16:26:42 2023 +0900

Feat: Add edit page

commit 8150a30b0800b613a744fb5a4b0fb1d295b6d445
Author: developer-jyyun <[email protected]>
Date: Fri Aug 11 19:33:01 2023 +0900

Feat: Add DB_uid, DB_username

commit 6113e2a8fd2d51f6721e727529d95f9b5185e8c6
Author: developer-jyyun <[email protected]>
Date: Fri Aug 11 19:31:25 2023 +0900

fix: Modify detail path(href)

commit ad58f9320fc118adb96fd2ef86793144abcd30a6
Author: developer-jyyun <[email protected]>
Date: Fri Aug 11 19:14:28 2023 +0900

Feat: Add upload permission

commit 6ab7483b6516b430e260b8ec9631a847c3fdba17
Author: developer-jyyun <[email protected]>
Date: Fri Aug 11 18:27:35 2023 +0900

Feat: Add onAuthStateChanged

commit 5a28ac19734d92df7bb00dd7187299d1e2cbf24f
Author: developer-jyyun <[email protected]>
Date: Thu Aug 10 17:59:55 2023 +0900

Design: Modify layout(index,upload)

commit d831dfd48b61845e469442557bae59e763bd243a
Author: developer-jyyun <[email protected]>
Date: Thu Aug 10 17:57:06 2023 +0900

Fix: Delete form tag

commit ec35453339b3b3b491cb4821a7ff4e8173391296
Author: developer-jyyun <[email protected]>
Date: Thu Aug 10 17:50:31 2023 +0900

Feat: Add detail page

commit a491878cb971f6c21454b2017a2304a82fe25f62
Author: developer-jyyun <[email protected]>
Date: Thu Aug 10 13:09:29 2023 +0900

Correct: close section tag

commit 3b85946efe04a52a1f85b739e29bae75e66b0628
Author: developer-jyyun <[email protected]>
Date: Thu Aug 10 12:58:30 2023 +0900

Feat: Add upload & login

commit 2798c60d88b48254cefa3088b0b560c085c7f608
Author: developer-jyyun <[email protected]>
Date: Wed Aug 9 22:26:46 2023 +0900

Feat: Add index

commit 6eb0917c558a06852aef719ab8bb7cbd5067629d (origin/main, origin/HEAD, main)
Author: DT - Career <[email protected]>
Date: Tue Aug 8 17:31:50 2023 +0900

Update README.md

commit 61a894eb885fd617a3218008af46cd415871e1b1
Author: John Ahn <[email protected]>
Date: Tue Aug 8 12:23:57 2023 +0900

Update README.md

commit acc67141cdce095352aa4dc28e0e6e1dbd64cdf8
Author: John Ahn <[email protected]>
Date: Tue Aug 8 12:12:26 2023 +0900

Initial commit
17 changes: 17 additions & 0 deletions firebase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"storage": {
"rules": "storage.rules"
}
}
4 changes: 4 additions & 0 deletions firestore.indexes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"indexes": [],
"fieldOverrides": []
}
9 changes: 9 additions & 0 deletions firestore.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
rules_version = '2';

service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
}
}
33 changes: 33 additions & 0 deletions public/404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Page Not Found</title>

<style media="screen">
body { background: #ECEFF1; color: rgba(0,0,0,0.87); font-family: Roboto, Helvetica, Arial, sans-serif; margin: 0; padding: 0; }
#message { background: white; max-width: 360px; margin: 100px auto 16px; padding: 32px 24px 16px; border-radius: 3px; }
#message h3 { color: #888; font-weight: normal; font-size: 16px; margin: 16px 0 12px; }
#message h2 { color: #ffa100; font-weight: bold; font-size: 16px; margin: 0 0 8px; }
#message h1 { font-size: 22px; font-weight: 300; color: rgba(0,0,0,0.6); margin: 0 0 16px;}
#message p { line-height: 140%; margin: 16px 0 24px; font-size: 14px; }
#message a { display: block; text-align: center; background: #039be5; text-transform: uppercase; text-decoration: none; color: white; padding: 16px; border-radius: 4px; }
#message, #message a { box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); }
#load { color: rgba(0,0,0,0.4); text-align: center; font-size: 13px; }
@media (max-width: 600px) {
body, #message { margin-top: 0; background: white; box-shadow: none; }
body { border-top: 16px solid #ffa100; }
}
</style>
</head>
<body>
<div id="message">
<h2>404</h2>
<h1>Page Not Found</h1>
<p>The specified file was not found on this website. Please check the URL for mistakes and try again.</p>
<h3>Why am I seeing this?</h3>
<p>This page was generated by the Firebase Command-Line Interface. To modify it, edit the <code>404.html</code> file in your project's configured <code>public</code> directory.</p>
</div>
</body>
</html>
Loading