Skip to content

EBKB-Everywhere/EveryWhere_Front

Repository files navigation

EveryWhere

캠퍼스 공간 혼잡도 확인 및 AI 기반 공간 추천 모바일 앱

📱 소개

EveryWhere는 대학 캠퍼스 내 공간의 실시간 혼잡도 정보를 제공하고, AI 어시스턴트를 통해 사용자에게 최적의 공간을 추천해주는 React Native 기반 모바일 애플리케이션입니다.

✨ 주요 기능

  • 지도 기반 공간 확인: 네이버 지도를 통해 캠퍼스 내 공간 위치 및 혼잡도 확인
  • 실시간 혼잡도 표시: 공간별 현재 인원 수와 최대 수용 인원 정보 제공
  • AI 어시스턴트: Google Gemini API를 활용한 자연어 기반 공간 추천
  • BLE 스캔: 주변 블루투스 저에너지(BLE) 장치 스캔 기능
  • 거리 계산: 현재 위치 기준 공간까지의 거리 자동 계산

🛠 기술 스택

  • 프레임워크: React Native 0.81.5
  • 개발 환경: Expo ~54.0.25
  • 네비게이션: Expo Router
  • 지도: Naver Map API
  • AI: Google Gemini API (gemini-2.5-flash)
  • BLE: Expo BLE

📋 사전 요구사항

  • Node.js 18 이상
  • npm 또는 yarn
  • Expo CLI
  • iOS 개발: Xcode 15 이상 (macOS만)
  • Android 개발: Android Studio

🚀 설치 및 실행

1. 저장소 클론

git clone https://github.com/818jsy/EveryWhere.git
cd EveryWhere

2. 의존성 설치

npm install

3. 앱 실행

iOS 시뮬레이터

npm run ios:simulator

iOS 디바이스

npm run ios

Android

npm run android

npm run web

📁 프로젝트 구조

EveryWhere/
├── app/                    # Expo Router 기반 페이지
│   ├── index.jsx          # 메인 지도 화면
│   ├── ai.jsx             # AI 어시스턴트 화면
│   ├── ble-scanner.jsx    # BLE 스캔 화면
│   └── settings/          # 설정 화면
├── components/            # 재사용 가능한 컴포넌트
│   ├── LocationCard.jsx   # 공간 정보 카드
│   └── BLEScanner.jsx     # BLE 스캐너 컴포넌트
├── assets/               # 이미지 및 리소스
├── types.js              # 공통 상수 및 데이터
└── app.json              # Expo 설정

📱 주요 화면

1. 지도 화면

  • 네이버 지도에 캠퍼스 공간 마커 표시
  • 마커 클릭 시 공간 상세 정보 카드 표시
  • 혼잡도에 따른 색상 구분 (여유/보통/혼잡/매우 혼잡)

2. AI 어시스턴트 화면

  • 자연어로 공간 추천 요청
  • 예시 질문 제공
  • 추천된 공간 카드 표시

3. BLE 스캔 화면

  • 주변 BLE 장치 스캔 및 목록 표시

🎨 디자인

  • 테마 색상: #FF9800 (주황색)
  • 혼잡도 색상:
    • 여유: #4CAF50 (초록)
    • 보통: #FDD835 (노랑)
    • 혼잡: #F44336 (빨강)
    • 매우 혼잡: #D32F2F (진한 빨강)

📝 라이선스

이 프로젝트는 private 프로젝트입니다.

👤 개발자

818jsy

🔄 업데이트 내역

v1.0.0

  • 초기 릴리스
  • 지도 기반 공간 확인 기능
  • AI 어시스턴트 기능
  • BLE 스캔 기능

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published