PinPoint is your real-time travel companion, helping you instantly discover local events, restaurants, and weather based on your current location. With a single tap, geolocate yourself and explore nearby activities shown on an interactive map and list view. Plan ahead with a 24-hour weather forecast, search other locations, pick dates, and save your favorites for quick access. Simple, efficient, and built to enhance spontaneous exploration.
Client: React, Vite, TypeScript, Tailwind CSS
Backend: Node.js, Express, MongoDB with Mongoose
Map: Leaflet for interactive map pins, maptiler
APIs: OpenMeteo (weather), Overpass (restaurants via OpenStreetMap), Ticketmaster (events)
Testing: Vitest
- Install dependencies in the /client and /server folder.
Project files:
-
Update the .env.example variables in /client folder with your maptiler API key that you can find here: https://www.maptiler.com/
-
Update the .env.example variables in /server folder with your Ticketmaster API key that you can find here: https://developer.ticketmaster.com/
- Start the project locally by running npm run dev in both the /client and /server directories.
- Set your browser to the iPhone 14 Pro Max dimensions through the devtools.
- On the landing page, allow location access when prompted.
- Tap the GPS button at the bottom-right corner to fetch your current location.
- Use the category selector at the top-right of the map to browse nearby events or restaurants.
- To save an event or place, click on its map pin and tap the heart icon to add it to your favourites.
- To remove an item from your favourites, open the "Favourites" category and click the heart icon again.
- Search other locations and dates using the search bar and date picker.
- Scroll through the weather widget to view the 24-hour forecast for your selected location.


