-
Notifications
You must be signed in to change notification settings - Fork 0
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_ShimJeongAh 원어민 교사 관리 #57
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for js-proflist ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
27db58b
to
30fdd8e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
과제하시느라 고생 많이 하셨습니다!!
@@ -0,0 +1,88 @@ | |||
<!DOCTYPE html> | |||
<html lang="en"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
html 언어가 en으로 되어있습니다ㅠㅠ
const firebaseConfig = { | ||
apiKey: process.env.API_KEY, | ||
authDomain: process.env.AUTH_DOMAIN, | ||
projectId: process.env.PROJECT_ID, | ||
storageBucket: process.env.STORAGE_BUCKET, | ||
messagingSenderId: process.env.MESSAGING_SENDER_ID, | ||
appId: process.env.APP_ID, | ||
measurementId: process.env.MEASUREMENT_ID, | ||
}; | ||
|
||
// Initialize Firebase | ||
const app = initializeApp(firebaseConfig); | ||
const storage = getStorage(app); | ||
const db = getFirestore(app); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 부분이 아래 profile.js에서도 중복됩니다ㅠㅠ 하나의 파일로 관리하는 것이 괜찮을 것 같다고 생각합니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// const dotenv = require("dotenv");
dotenv.config();
const firebaseConfig = {
apiKey: process.env.API_KEY,
authDomain: process.env.AUTH_DOMAIN,
projectId: process.env.PROJECT_ID,
storageBucket: process.env.STORAGE_BUCKET,
messagingSenderId: process.env.MESSAGING_SENDER_ID,
appId: process.env.APP_ID,
measurementId: process.env.MEASUREMENT_ID,
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
const storage = getStorage(app);
const db = getFirestore(app);
태관님 말씀처럼 예를 들어 firebaseConfig.js 파일을 생성하고
app, storage db를 export 시키고 사용하는 JS파일에서 import 해서 사용하시면 간편하고 중복 코드를 줄일 수 있을 것 같습니다 :)
const profileImgElement = document.getElementById("profile-img"); | ||
profileImgElement.src = data.profileImg; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
html { | ||
overflow-x: hidden; | ||
} | ||
:root { | ||
line-height: 1.5; | ||
color: #3e4b5b; | ||
font-size: 16px; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
브라우저의 기본 폰트 사이즈는 16px이라고 알고 있습니다. html에 font-size를 62.5%로 주시면 rem 을 사용할 때 10px로 계산되어서 계산도 편해지고 웹 접근성에도 도움을 줄 수 있다고 생각합니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tkyoun0421
태관님 피드백 훌륭하십니다..
사실 저도 그냥 px로 작성 많이해요 ㅎㅎ...
반성하게 됩니다!
이번 과제 파이어베이스도 처음 사용하시고 어려웠을 텐데 정말 잘 해주셨습니다. 고생 많으셨습니다! |
등록과 수정페이지에서 기본이미지를 불러오는 부분에서 404 error가 발생합니다. 이미지를 넣어주니 멈추는 것같습니다. 이외엔 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
전반적으로 과제의 한 싸이클을 다 돌리신 것 같아요!
그 점 너무 훌륭하고 잘 하신것 같습니다 👏
부분 부분 버그 부분이나, 코드 정리, 기능의 플로우를 깔끔하게 마무리하기 등
정리가 필요한 부분은 리팩토링을 통해 프로젝트의 완성도를 높혀보세요!
과제하시느라 고생하셨습니다!
html { | ||
overflow-x: hidden; | ||
} | ||
:root { | ||
line-height: 1.5; | ||
color: #3e4b5b; | ||
font-size: 16px; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tkyoun0421
태관님 피드백 훌륭하십니다..
사실 저도 그냥 px로 작성 많이해요 ㅎㅎ...
반성하게 됩니다!
<body> | ||
<script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-app.js"></script> | ||
<script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-firestore.js"></script> | ||
<script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-storage.js"></script> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
firebase script태그는 head로 가야될걸로 생각됩니다! 페이지가 렌더링 되기전에 firebase 스크립트가 로드 되어야 할 것 같아요
const firebaseConfig = { | ||
apiKey: process.env.API_KEY, | ||
authDomain: process.env.AUTH_DOMAIN, | ||
projectId: process.env.PROJECT_ID, | ||
storageBucket: process.env.STORAGE_BUCKET, | ||
messagingSenderId: process.env.MESSAGING_SENDER_ID, | ||
appId: process.env.APP_ID, | ||
measurementId: process.env.MEASUREMENT_ID, | ||
}; | ||
|
||
// Initialize Firebase | ||
const app = initializeApp(firebaseConfig); | ||
const storage = getStorage(app); | ||
const db = getFirestore(app); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// const dotenv = require("dotenv");
dotenv.config();
const firebaseConfig = {
apiKey: process.env.API_KEY,
authDomain: process.env.AUTH_DOMAIN,
projectId: process.env.PROJECT_ID,
storageBucket: process.env.STORAGE_BUCKET,
messagingSenderId: process.env.MESSAGING_SENDER_ID,
appId: process.env.APP_ID,
measurementId: process.env.MEASUREMENT_ID,
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
const storage = getStorage(app);
const db = getFirestore(app);
태관님 말씀처럼 예를 들어 firebaseConfig.js 파일을 생성하고
app, storage db를 export 시키고 사용하는 JS파일에서 import 해서 사용하시면 간편하고 중복 코드를 줄일 수 있을 것 같습니다 :)
} catch (error) { | ||
console.error("데이터를 가져오는 중 에러:", error); | ||
} | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
로드 될 때 콜백함수에 너무 많은 로직이 한번에 담겨져있습니다.
함수를 분리하여 가독성과 유지보수성을 향상시켜보세요.
코드분리, 함수 모듈화, 비즈니스 로직을 분리하는 코드의 구조가 더 깔끔하고 확장 가능합니다.
최대한 분리해보는 연습을 추천드려요!
예를 들어,
- DOM 요소는 함수 밖에 선언해주세요. 함수가 실행 될 때 마다 DOM을 탐색하는 것은 불필요한 리소스를 사용하게 됩니다.
- 상세페이지로 redirect
- 새문서 추가
- 문서 삭제
- 테이블 행 생성
등등.. 이런 종류의 함수들을 나누어보세요!
프로젝트 소개
원어민 교사들의 정보를 관리할 수 있는 리스트 사이트 입니다.
필수 요구사항
기술 스택
주요 기능
유저 플로우