Skip to content

Defor721/WattsUp

Repository files navigation

VPP 대시보드 및 전력 거래소 구축 프로젝트 - Watts Up


🔥 프로젝트 목표

Watts Up은 가상 발전소와 태양광 전력 거래 시스템 및 프로토타입 구축을 위해 설계된 프로젝트입니다.
가상 발전소는 분산된 에너지 자원을 디지털화 하고 통합하여, 하나의 발전소처럼 운영하는 시스템입니다.

해당 프로젝트는 터빈 크루의 제안서를 바탕으로 기획되었습니다.
실시간 전력 모니터링과 거래를 지원하며, 전력 거래 자동화, 사용자 친화적인 대시보드를 제공합니다.


💻 주요 기능

전력 거래

실시간 데이터를 바탕으로 필요한 태양광 전력을 즉시 구매할 수 있습니다.

전력 거래

대시보드

지역별 발전 예측 데이터를 기반으로 효과적인 전력 거래를 계획할 수 있습니다.

대시보드

추가정보

실시간 데이터를 확인하고 필요한 정보를 다운로드하여 분석에 활용할 수 있습니다.

대시보드 추가정보

유저 확인

관리자는 가입된 유저의 데이터를 한눈에 확인하고, 필요한 정보를 신속히 파악할 수 있습니다.

유저 관리

데이터 확인

관리자는 지역 발전량을 갱신하고 거래 목록을 확인할 수 있습니다.

데이터 관리


🪪 사용자 가이드

계정 생성 및 로그인 (일반)

일반 로그인

계정 생성 및 로그인 (소셜)

일반 로그인


💽 프로젝트 설치 및 실행 방법

  1. 의존성 설치

    npm install
  2. 개발 서버 실행

    npm run dev

    프로덕션 빌드

    npm run build
    npm start

📂 환경 변수 설명

🛠️ 기본 환경

  • NEXT_PUBLIC_ENVIRONMENT: 애플리케이션의 실행 환경을 나타냅니다. (development, production 등)
  • NEXT_PUBLIC_API_BASE_URL: API 요청의 기본 URL을 설정합니다. (http://localhost:3000 또는 배포된 URL)
  • ACCESS_TOKEN_SECRET: JWT 엑세스 토큰을 서명하기 위한 비밀 키입니다.
  • REFRESH_TOKEN_SECRET: JWT 리프레시 토큰을 서명하기 위한 비밀 키입니다.
  • BUSINESS_TOKEN_SECRET: 비즈니스 관련 토큰을 서명하기 위한 비밀 키입니다.
  • EMAIL_TOKEN_SECRET: 이메일 인증 토큰을 서명하기 위한 비밀 키입니다.
  • SALT_ROUND: bcrypt 암호화 시 해시를 생성할 라운드 수를 설정합니다. (보안 수준을 결정)

📦 MongoDB

  • MONGODB_URI: MongoDB 연결 문자열입니다. 데이터베이스 서버 URL과 인증 정보를 포함합니다.
  • NEXT_PUBLIC_REDIRECT_URI: Google OAuth 인증 후 리다이렉트될 URL입니다.
  • NEXT_PUBLIC_GOOGLE_CLIENT_ID: Google API에서 발급된 클라이언트 ID입니다.
  • GOOGLE_CLIENT_SECRET: Google API에서 발급된 클라이언트 비밀 키입니다.
  • BUSINESS_STATUS_API_URL: 공공데이터 사업자 등록 상태를 확인하는 공공데이터 API URL입니다.
  • BUSINESS_INFO_VERIFICATION_API_URL: 공공데이터 사업자 정보 검증 API URL입니다.
  • BUSINESS_SERVICE_KEY: 공공데이터 사업자 정보 API 접근을 위한 인증 키입니다.
  • NEXT_PUBLIC_DATA_PORTAL_SERVICE_KEY: 공공데이터 포털 서비스 키로, 반전량 데이터를 요청하는 데 사용됩니다.

✉️ Gmail

  • GMAIL_USER: Gmail 계정 이메일 주소입니다.
  • GMAIL_APP_PW: Gmail API 또는 SMTP 연동에 필요한 앱 비밀번호입니다.

🖴 Redis

  • REDIS_HOST: Redis 서버 호스트 URL입니다.
  • REDIS_PORT: Redis 서버 포트 번호입니다.
  • REDIS_PW: Redis 서버 접속을 위한 비밀번호입니다.

🗺️ Kakao 지도

  • REACT_APP_KAKAO_API_KEY: Kakao 지도 API를 호출하기 위한 인증 키입니다.
  • OPEN_WEATHER_API_KEY: OpenWeatherMap API를 호출하기 위한 인증 키입니다.

⚙️ 사용 기술 스택

프론트엔드

Next.js TypeScript Tailwind CSS Zustand Shadcn/ui Framer Motion Recharts

백엔드 및 데이터 처리

Node.js MongoDB Redis JWT Bcrypt

기타 도구

cheerio MSW Husky Nodemailer Kakao Maps Api


👥 팀원 소개

yoonstar1996
yoonstar1996
zerozeroha
zerozeroha
working-zima
working-zima
Defor721
Defor721
LifeIsMoment
LifeIsMoment

About

VPP 대시보드 및 전력 거래소 구축 프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5