Smart Cycling App for Smarter Riders
We are CS222 team-07, developer team of SmartRide, which is a smart cycling app that integrates route planning, turn-by-turn navigating, health tracking, and intelligent ride suggestions. It is designed with a robust backend, a dynamic frontend, and rich features tailored to every cyclist's needs.
Developers:
-
Full User Authentication System
Secure login, registration, and session management with Flask and JWT. -
Frontend & Backend Architecture
React + TypeScript frontend with Flask/FastAPI backend, modular and maintainable. -
Route Planning via OpenRouteService
Backend integration with ORS API for route generation, using real-time parameters. -
Frontend Route Visualization
Interactive cycling route planning and visualization on OpenStreetMap via Leaflet.
-
Smart Route Recommendations
Personalized route suggestions based on:- Weather (especially wind direction)
- Terrain preferences (e.g., hill avoidance/seeking)
- Calorie goals and physical condition
-
Ride Tracking & Analytics
Detailed ride logs including:- Real-time path taken
- Wind and elevation history
- Energy expenditure analysis
-
Health Assistant
Health data tracking and progress monitoring:- Daily/weekly goals
- Trend visualization
- Actionable insights for fitness improvement
-
Real-Time Navigation & Rerouting
Live map navigation with support for dynamic rerouting during the ride.
-
Community System
User-driven community features such as:- Route sharing
- Group challenges
- Social ride planning
-
This project is licensed under a customized GPL v3 license.
- You may use, study, modify, and share the source code for non-commercial purposes.
- Commercial use by third parties is strictly prohibited. Only the original authors (CS222 Team 07) retain the right to use the software for commercial purposes.
- See LICENSE for details.
-
Colored map markers in
frontend/public/markers
are from Leaflet Color Markers by pointhi, licensed under the MIT License. -
The animation and relevant pictures
frontend/src/assets/cycle_anim.gif frontend/src/assets/cycle_last_frame.png frontend/src/assets/cycle_logo.png frontend/src/assets/cycle_trp.png frontend/public/cycle_logo
are all based on a GIF from Gifer, with custom editing. This asset is used for demonstration only and may be subject to third-party copyright. We do not claim ownership or redistribution rights. See Gifer Terms of Service for details.
For detailed documentation, please refer to the docs folder.
- React + Typescript + Vite
- Tailwind CSS for styling
- React Leaflet + OpenStreetMap for map rendering
- ORSM (OpenRouteService Map, for turn-by-turn navigation, planned)
- Capacitor (planned) for mobile deployment
- Flask (main server)
- FastAPI (route service) with ORS (Open Route Service) integration
- SQLite (development database), planned migration to PostgreSQL with Docker support
- GitHub Actions for CI/CD and testing
- Conda for Python environment management
- pnpm for frontend dependency management
- ngrok for exposing local servers for remote testing
- Docker (planned) for deployment and backend upgrades