A GIS-based social platform with event discovery, real-time chat, and map integration—powered by Firebase Realtime Database
├── client/ # React + Vite frontend
│ └── src/
│ ├── api/ # Firebase client & API helpers
│ ├── assets/ # Images, global styles
│ ├── components/ # Reusable UI (common, layout, map, chat, events)
│ ├── context/ # React Context providers (Auth, Event, Map)
│ ├── hooks/ # Custom hooks (useAuth, useGeolocation, useRealtimeChat, useEvents)
│ ├── pages/ # Route-level page components
│ └── router/ # React Router configuration
└── server/ # Node.js + Express backend
└── src/
├── config/ # Firebase Admin SDK & env config
├── controllers/ # HTTP request handlers
├── middleware/ # Auth verification, error handling
├── routes/ # API route definitions
├── services/ # Business logic & Firestore queries
└── utils/ # Helper functions
- Node.js 18+
- pnpm (recommended) or npm/yarn
- A Firebase project with Realtime Database enabled:
- Database URL:
https://friendly-2fb02-default-rtdb.europe-west1.firebasedatabase.app - Firebase Authentication enabled
- Database URL:
pnpm install # installs workspaces for client & serverclient/.env (Opsiyonel - Firebase credentials zaten entegre edildi)
# Aşağıdaki değerler zaten src/api/firebase.js'de tanımlanmıştır
VITE_FIREBASE_API_KEY=your_firebase_api_key_here
VITE_FIREBASE_AUTH_DOMAIN=friendly-2fb02.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=friendly-2fb02
server/.env
PORT=4000
FIREBASE_SERVICE_ACCOUNT_KEY=<service-account-json>
server/.env
PORT=4000
FIREBASE_SERVICE_ACCOUNT_KEY=<JSON string of your service account>
# Terminal 1 – client
cd client && pnpm dev
# Terminal 2 – server
cd server && pnpm devThe client runs at http://localhost:5173 and the server at http://localhost:4000.
MIT