yihong1120 / traffic_report_front_flutter

A platform, 'Traffic-Violation-Report-System', enabling users in Taiwan to upload and share responses from law enforcement to traffic violations. This system aims for greater transparency in traffic law enforcement. It utilises Django for backend and Flutter for a separated frontend web development.
GNU Affero General Public License v3.0
0 stars 0 forks source link
android api-integration community dart digital-platform flutter flutter-apps ios law-enforcement open-source performance-optimization responsive-design taiwan traffic-violation user-authentication web-app

Traffic-Report-Front-Flutter

Overview

'Traffic-Report-Front-Flutter' serves as the frontend counterpart of the 'Traffic-Violation-Report-System', a digital platform dedicated to enhancing transparency in traffic law enforcement across Taiwan. Utilising Flutter, this web application allows users to interact seamlessly with the backend system to report traffic violations and view responses from law enforcement agencies.

Features

Directory Structure

lib/
  |- components/    # Shared components, such as custom buttons, form inputs, etc.
      |- custom_info_window.dart
      |- media_picker.dart
      |- media_preview.dart
      |- navigation_drawer.dart
      |- report_form.dart
      |- search_bar.dart
      |- time_range_dropdown.dart
  |- models/        # Data models
      |- media_file.dart
      |- social_account.dart
      |- traffic_violation.dart
  |- screens/       # Different screens/pages
      |- accounts/  # Screens related to account, like login, registration, user profile
          |- routes.dart
          |- login.dart
          |- register.dart
          |- profile.dart
      |- reports/   # Screens related to reports, such as creating a report, viewing report list
          |- routes.dart
          |- report_list.dart
          |- report_detail.dart
          |- create_report.dart
      |- chat/   # Screens related to chatbot, you can chat with gemini
          |- routes.dart
          |- chat_page.dart
      |- map/       # Map display, such as showing the map on the homepage
          |- routes.dart
          |- home_map.dart
  |- services/      # Services, like network requests, local storage
      |- auth_service.dart
      |- map_service.dart
      |- report_service.dart
      |- social_service.dart
  |- utils/         # Utility classes, such as utility functions, constant definitions
      |- constants.dart
      |- date_time_range_util.dart
      |- date_time_utils.dart
      |- markers_management.dart
      |- media_utils.dart
  |- tests/         # Utility test files
      |- components
      |- models
      |- services
      |- utils
  main.dart         # Entry file

Development Roadmap

Getting Started

To run the project locally:

  1. Ensure you have Flutter installed on your system. Visit Flutter Installation Guide for instructions.
  2. Clone the repository:
    git clone https://github.com/yihong1120/traffic_report_front_flutter.git
  3. Navigate to the project directory:
    cd traffic_report_front_flutter
  4. Run the application (web):
    flutter run -d chrome

Contributing

We welcome contributions! Please read our Contributing Guide for details on our code of conduct, and the process for submitting pull requests.

License

This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.

Acknowledgements