GeoGallery is a fullstack web application that lets users upload, pin, and explore photos on an interactive world map. Users can share their favorite places and moments by attaching images and descriptions to specific locations, and discover a global gallery of geotagged experiences.
- Upload photos and pin them to real-world locations
- Add descriptions to each post
- Explore posts from users around the world on an interactive map
- View, zoom, and delete your own posts
- Google authentication for secure sign-in
- Mobile-friendly design with camera support
- Frontend: React, Vite, Mapbox GL, Supabase Auth
- Backend: Node.js (TypeScript), Express, Supabase Storage, PostgreSQL
- Deployment: Vercel (frontend), Render (backend)
- Node.js & npm
- Supabase account
- Mapbox account
- Clone the repository:
git clone https://github.com/yourusername/geogallery.git cd geogallery - Install dependencies for both frontend and backend:
npm install cd backend && npm install
- Create a
.envfile in both root and backend folders with your API keys and URLs (see.env.example). - Start the backend:
cd backend npm run dev - Start the frontend:
cd .. npm run dev - Visit
http://localhost:5173(or the port shown) to use the app locally.
MIT
GeoGallery v1 – Share your world, one pin at a time.