• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 선생님 질문드려용..

선생님 질문드려용..

10 글 보임 - 1 에서 10 까지 (총 10 중에서)
  • 글쓴이
  • #99692

    정중식
    참가자
    파이어베이스 관련질문인데.. 게시판이 없어서 여기에 올립니다 죄송합니다.
    
    파이어베이스 v9에서 모든 유저정보를 검색해서 모든유저들중 추천과 게시글을 가장 많이 올리고 누른 사람을 통계하는 기능을 개발하려고 합니다.
    
    그래서 필요한게 뭐냐면..
    
    모든 유저의 정보가 필요한데
    
    파이어베이스에서 하려면 어떻게 해야하나요?
    
    firebase-admin 을 인스톨해서
    
    
    const admin = require('firebase-admin');
    // Firebase Admin SDK 초기화
    const serviceAccount = require('../../firebaseAdminKey.json'); // 서비스 계정 키의 경로
    admin.initializeApp({
      credential: admin.credential.cert(serviceAccount),
      databaseURL: 'https://your-project-id.firebaseio.com', // 프로젝트의 데이터베이스 URL
    });
    
    이런식으로해서? 뭐 하는거같은데
    
    serviceAccount 이부분에서 막히고있습니다. json을 다운받아서 뭐 어떡하라는건지 전혀 모르겠어요..
    
    어떻게해야할까요?
     
    #99706

    codingapple
    키 마스터
    유저가 추천누를 때 마다 유저 document에 어떤 항목 +1 해주고
    orderBy랑 limit 써서 어떤 항목이 최고 높은 유저 한명 가져오라고 코드짜면 될듯요
    #99723

    정중식
    참가자
    센세님
    처음 회원가입을하면 파이어베이스 Authentication에 유저가 저장되는데, 
    
    Authentication에 저장되는거 외에 유저 도큐먼트를 따로 파야할까요?
    
    예를들면 파이어베이스 데이터베이스에  posts 도큐먼트를 갖는것처럼요..
    
    Authentication에 저장되어있는 유저들을 탐색해서 하려고했는데 잘안되는거같아서요..
    일단 시도해본건 이 코드입니다.
    
        const testRef = collection(db, 'users');
        const q = query(testRef, orderBy('createdAt', 'asc'));
        console.log(q);
    
    테스트겸 일단 유저목록가져와보려고 해봣는데 잘안되네요 
    
    
    #99762

    codingapple
    키 마스터
    유저가입시 유저 uid를 이름으로하는 document 하나 발행해두면 좋습니다
    #99781

    정중식
    참가자
    센세 감사합니다.
    
    
          await addDoc(collection(db, 'users'), {
              email: user.email,
              nickname: user.displayName,
              createdAt: new Date()?.toLocaleDateString('ko', {
                hour: '2-digit',
                minute: '2-digit',
                second: '2-digit',
              }),
              likeCount: 0,
              postCount:0,
              uid: user.uid,
            });
    
    
    이렇게 해주면 될까요?
    아니면 uid:user.uid만 넣어둬야할까요?
     
    #99784

    정중식
    참가자
         await setDoc(doc(db, 'users', user.uid), {
              nickname: user.displayName,
              likeCount: 0,
              postCount: 0,
              uid: user.uid,
            });
    
    
    해결 완료!
    #99801

    codingapple
    키 마스터
    이메일도 나중에 필요할거같은데 이메일도 저장합시다
    #99819

    정중식
    참가자
    땡큐입니당!
    #99820

    정중식
    참가자
    선생님 nextjs에서 파이어베이스 호스팅은 어떻게해줘야하는건가요?
    1. firebase init hosting
    2.Command line에 아래와 같이 입력Use an existing project:현재 내가 갖고있는 파이어베이스 프로젝트중에서 고른다
    fastcampus-react-blog(프로젝트명) : 프로젝트 이름 선택
    What do you want to use as your public directory? -> ‘build’ 입력
    Configure as a single-page app (rewrite all urls to / index.html) : Yes
    Set up automatic builds and deploys with GitHub? -> No
    이렇게 입력해줬고, 
    
    .firebaserc, firebase.json 파일 두개가 추가되는것까지 확인했습니다.
    
    - npm run build
    - firebase deploy –only hosting
    
    해서 배포된 url로 들어갔는데,
    vxcvcxvxcv
    
    이런 이미지가 나와서 아리쏭합니당..
     
    
    
    
    #99838

    codingapple
    키 마스터
    https://firebase.google.com/docs/hosting/frameworks/nextjs?hl=ko
    이런거 따라해야할듯요
10 글 보임 - 1 에서 10 까지 (총 10 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠