Skip to content

CS222-UIUC/team-07-project-smartride

Repository files navigation

👋 Welcome to CS222-Team-07 Repo for Smartride Project.

SmartRide

Smart Cycling App for Smarter Riders

SmartRide Logo

License: GPL v3 Repo Size Dependabot

ESLint Format Check Frontend Test Python Lint Backend Test

Table of Contents


Introduction

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:

Developers

Completed Features

  • 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.

Features Coming Soon

  • 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.

Future Plans

  • Community System
    User-driven community features such as:
    • Route sharing
    • Group challenges
    • Social ride planning

External Resources and License Notices

  1. 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.
  2. Colored map markers in frontend/public/markers are from Leaflet Color Markers by pointhi, licensed under the MIT License.

  3. 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.


Documentation

For detailed documentation, please refer to the docs folder.


Tech Stack

Frontend

  • 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

Backend

  • Flask (main server)
  • FastAPI (route service) with ORS (Open Route Service) integration
  • SQLite (development database), planned migration to PostgreSQL with Docker support

DevOps & Tooling

  • 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

Releases

No releases published

Packages

No packages published

Contributors 7