
Overview
Key Features
- Interactive Map: Displays all Vélib stations in Paris with real-time availability of bikes and docks.
- Geolocation: Automatically detects the user's current location and centers the map accordingly.
- Search Functionality: Users can search by address or use GPS to find the nearest station.
- Markers and Routing: Highlights each station with custom markers and provides walking directions.
- Optional Features:
- User authentication
- Address history
- Station filters (e.g., only show stations with bikes)
- Data persistence (MongoDB)
- GPS toggle and recentering button
Technologies Used
- React.js (frontend)
- Node.js + Express (backend)
- MongoDB (data storage)
- Google Maps API (map and routing)
- Vélib Open Data API (station info)
Installation & Usage
Bash
# Clone the repository
git clone https://github.com/metux-o0/2022-2023-L2G1-velib-based-web-app.git
# Install dependencies
cd project-directory
npm install
# Run frontend and backend simultaneously
npm start
If that doesn’t work, run the frontend and backend separately in two terminals: npm run front (http://localhost:3000)To configure:
npm run back (http://localhost:3030)
- Add your Google Maps API key to front/src/components/page/Map/apiKey.js.
- Update the MongoDB connection string in back/src/services/mongoose.js.
Challenges and Learnings
Outcome
This project highlights your ability to build real-time, location-based web apps with modern tools and solid user experience.