ParkFinder helps drivers quickly locate nearby parking in Toronto. It combines map search, nearest-spot detection, and parking dataset import into one app.
- Reduces time wasted searching for parking.
- Makes nearby options visible on an interactive map.
- Helps users compare closest lots quickly.
- Search parking spots by name.
- Get autocomplete suggestions.
- Find the 5 nearest spots from map click coordinates.
- Import parking data from JSON on the admin side.
- Frontend: React, Tailwind CSS, MapLibre GL JS, MapTiler, Axios
- Backend: Node.js, Express, MongoDB Atlas, Mongoose
- Public:
- GET /park/spots
- GET /park/spots/search/:name
- GET /park/spots/searchNames/:query
- POST /park/spots/nearestSpot
- Admin:
- POST /admin/import-data
- POST /admin/parking-spots
- PUT /admin/parking-spots/:id
- DELETE /admin/parking-spots/:id
- Backend /
cd backend
npm install
node app.js- Frontend
cd frontend
npm install
npm startSet required environment variables before running:
- backend: DB_USERNAME, DB_PASSWORD, PORT
- frontend: REACT_APP_MAP_API_KEY
