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_ParkNaYoung 프로젝트 매니지먼트 서비스 #66

Open
wants to merge 37 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
5b97b8d
gitignore is now working
im-na0 Aug 16, 2023
8406164
Feat: Initial project setup
im-na0 Aug 16, 2023
198ec0d
Feat: Added Client-Side Routing Configuration
im-na0 Aug 16, 2023
98054ba
Feat: Members page
im-na0 Aug 17, 2023
b8ddc56
Feat: Update Router
im-na0 Aug 17, 2023
67bd8a1
Feat: Add Upload DB
im-na0 Aug 17, 2023
bbb958c
Feat: Add Modal UI
im-na0 Aug 17, 2023
b5ee842
Feat: Add Validate Form
im-na0 Aug 17, 2023
995b30e
Feat: Update modalForm template
im-na0 Aug 17, 2023
02057dd
Feat: Updated Firebase DB and Storage upload functionality
im-na0 Aug 17, 2023
d2ac094
Feat: Updated modal dialog events
im-na0 Aug 18, 2023
bbcc101
Feat: Add FirebaseUtils
im-na0 Aug 18, 2023
97d99f2
Feat: Add btn event
im-na0 Aug 18, 2023
be2f8d1
README.md
im-na0 Aug 18, 2023
e3bc0ef
gitignore
im-na0 Aug 18, 2023
3fb1fd6
Docs: User Flow
im-na0 Aug 19, 2023
67bbafc
Docs: User Flow
im-na0 Aug 19, 2023
ec9a5e5
Update README.md
im-na0 Aug 19, 2023
d6a81ce
Fix
im-na0 Aug 20, 2023
7798a7c
Docs: README.md
im-na0 Aug 20, 2023
e339713
Update README.md
im-na0 Aug 20, 2023
ce0d5d1
configuration setting
im-na0 Aug 20, 2023
23c2ab0
Docs: README.md
im-na0 Aug 20, 2023
2779f88
Fix
im-na0 Aug 21, 2023
5cb8d78
Fix
im-na0 Aug 21, 2023
9c39d0e
Fix
im-na0 Aug 21, 2023
3dead2b
Fix
im-na0 Aug 21, 2023
beb6a04
Feat: Add .env
im-na0 Aug 21, 2023
5b54420
gitignore is working
im-na0 Aug 21, 2023
5092229
Feat: Add .env
im-na0 Aug 21, 2023
c792d2b
Fix: Update .env
im-na0 Aug 21, 2023
266d9a1
Fix
im-na0 Aug 21, 2023
227fe41
Feat: Update config
im-na0 Aug 21, 2023
2c74a75
Refactor: Restructured project directory
im-na0 Aug 28, 2023
898cb02
Refactor: Restructured project directory
im-na0 Aug 28, 2023
a503cb5
Refactor: Modify router
im-na0 Aug 28, 2023
e8ac04d
Refactor: etc
im-na0 Aug 28, 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 .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
dist
.DS_Store
.env
*.css
97 changes: 55 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,63 @@
# 프로젝트 매니지먼트 서비스

# :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 같은 서비스”를 이용하여 사진을 관리할 수 있는 페이지를 구현하세요.
- 프로필 페이지를 개발하세요.
- 스크롤이 가능한 형태의 리스팅 페이지를 개발하세요.
- 전체 페이지 데스크탑-모바일 반응형 페이지를 개발하세요.
- 사진을 등록, 수정, 삭제가 가능해야 합니다.
- 유저 플로우를 제작하여 리드미에 추가하세요.
* CSS
* 애니메이션 구현
* 상대수치 사용(rem, em)
* JavaScript
* DOM event 조작
## 🚀 프로젝트 소개

## [선택 요구사항]
- 사진 관리 페이지와 관련된 기타 기능도 고려해 보세요.
- 페이지가 보여지기 전에 로딩 애니메이션이 보이도록 만들어보세요.
- 직원을 등록, 수정, 삭제가 가능하게 해보세요.
- 직원 검색 기능을 추가해 보세요.
- infinity scroll 기능을 추가해 보세요.
- 사진을 편집할 수 있는 기능을 추가해 보세요.
- LocalStorage 사용
팀 프로젝트 진행 시 멤버를 등록하고 팀 구성을 도와주는 서비스를 입니다 😁

## [화면 예시]
![111](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/96465306/f1afed4b-547e-4289-8e83-2f0fa188cccb)
![222](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/96465306/72f1ea35-8965-4050-9d0b-b9f27c933f64)
## 🚀 프로젝트 배포

https://deploy-preview-66--effulgent-axolotl-ab38e8.netlify.app/

## 🚀 과제 요구사항

## [흐름]
![333](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/96465306/44707a0e-6c5a-4d04-a6bd-58e46f02a9a9)
### ✅ 필수 요구사항

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

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

### ✅ 선택 요구사항

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

## 🚀 프로젝트 내용

| **메인페이지** | **메인 페이지** |
| :-----------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| ![ezgif-4-85d3eb5036](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/139189221/f1320b35-0cb6-419c-bbd5-89d476230300) | ![ezgif-4-c21991c473](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/139189221/5ef7c8a8-4d4d-49c9-a4e0-18421f6836c5) |
| ✓ 전체 리스트 확인<br>✓ floating animation | ✓ members 이름순 정렬 (최대 6개 출력) <br>✓ lazy-loading |
| **멤버 리스트 페이지** | **멤버 리스트 페이지** |
| ![aa](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/139189221/1ac8c671-3560-4370-b35a-e7ef132665aa) | ![bb](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/139189221/e0a6a6d1-6b22-433c-bd88-a44fe19f36d9) |
| ✓ 멤버 리스트 확인<br>✓ 멤버 등록순 정렬 <br>✓ lazy-loading | ✓ 멤버 등록 |
| ![aa](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/139189221/28f3d767-2a52-40dc-908d-59ff376013ff) | ![스크린샷 2023-08-21 오후 10 15 53](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/139189221/bf5bea48-1808-4965-bdc0-f46450e4a12b) &nbsp; &nbsp; |
| ✓ 삭제 / 수정 / 조회 | ✓ 수정 & 등록 시 유효성 검사<br>✓ 모든 폼을 채워야 등록 가능 |
| **팀 리스트 페이지** | **팀 리스트 페이지** |
| ![aa](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/139189221/ca601419-3e5f-4a10-95bb-a6d0fa2649b3) | ![dd](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/139189221/d5b081e1-f807-43eb-8cb6-945acae43a49) |
| ✓ 팀 리스트 확인<br>✓ 팀 이름순 정렬<br>✓ hover animaion <br>✓ lazy-loading | ✓ 팀 멤버 조회 가능 (프로필만 구현함)<br> ✓ unsplash random 이미지 사용 |

## 🚀 유저 플로우

![aa](https://github.com/KDT1-FE/Y_FE_JAVASCRIPT_PICTURE/assets/139189221/caf49cc7-da64-427c-8489-d0573210f1fb)
interaction 기준으로 작성했습니다

## ✍️ 아쉬운 점

- 다른 부분에서 오류처리하느라 firebase에 대해 자세히 공부하지 못했던 것 같아 아쉽습니다.
- 디렉토리 구조가 깔끔하지 못한 것 같습니다. 🥲
- 기능 추가를 많이 못한 것이 아쉽습니다. 팀 페이지도 여유가 된다면 구현해보고 싶습니다.
- 모듈화해서 코드의 재사용성을 높이고자 했는데 오히려 같은 로직을 두번이나 사용해야 했었습니다. 다시한번 더 클린코드에 대해 고민해보게 되는 시간이였습니다..😞
10 changes: 10 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: '> 0.25%, not dead',
},
],
],
};
4 changes: 4 additions & 0 deletions netlify.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[[redirects]]
from = "/*"
to = "/index.html"
status = 200
Comment on lines +1 to +4
Copy link
Member

Choose a reason for hiding this comment

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

_redirects 파일이랑 netlify.toml 둘 다 사용해야 작동하는 건가요??

Loading