A cool idea which was in my mind since a while, I finally built it. In GeoJournal you can log your favourite memories of locations or some cool spot recommendations anywhere on the global map!
PS: IT MIGHT TAKE LIKE 20 SECONDS TO LOAD FOR THE FIRST TIME U OPEN IT (because render shuts down the cluster if it is not being used (Im on free :P version))
The website is livee at geo-map-three.vercel.app
- Click anywhere on the map to drop a journal entry at that location
- Everyone can see all entries on the map, but only you can delete yours
- You sign in with Clerk
- You can choose your username on the first startup
- Your username shows up in the pop-up whenever someone clicks on your pin
- There's a profanity filter because I'd like to keep it wholesome and nice
- React + Vite on the frontend
- Node + Express + MongoDB on the backend
- Clerk for authentication and login
- React Leaflet, an open source library for the world map
- Hosted it on Vercel (frontend) and Render (backend)
You'll need Node, a MongoDB atlas account, with a new client, and a Clerk account.
Backend
cd backend
npm installMake an .env file:
MONGODB_URI=your_mongo_uri
PORT=5000
To run backend:
npm run devFrontend
cd frontend
npm installMake a .env file:
VITE_API_URL=http://localhost:5000/api
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key
To run front-end:
npm run devIMAGES: