GithubHelp home page GithubHelp logo

andreytakhtamirov / trailblaze-flutter Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 1.49 MB

A route planning app that helps you find the most scenic route.

License: Apache License 2.0

Kotlin 0.05% Ruby 0.48% Swift 0.14% Objective-C 0.01% Dart 99.31%
flutter flutter-app mapbox mapbox-android mapbox-ios route-optimization route-planner

trailblaze-flutter's People

Contributors

andreytakhtamirov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

trailblaze-flutter's Issues

Show user profile

Show user's info like the routes they've created, the posts they've liked.

Create route preferences screen

The current implementation was just to enable basic functionality of adding waypoints and selecting a transportation mode. This screen needs a redesign to be more intuitive. Will create mockups soon.

Here is the screen from trailblaze-android:

Image

Round Trip mode

Query new server endpoint to fetch and display round trips (randomly generated given a distance and an origin).

Material3 UI Migration

Flutter 3.16 introduced Material3 by default. Using this requires some reorganizing of the app colour palette. I'll use this opportunity to also tweak a few UI elements.

Store app secrets securely

The security flaw in most dotenv packages, such as flutter_dotenv and dotenv, lies in their failure to protect sensitive data adequately. These packages typically store secrets as plain text in the .env file and include this file as an asset to the Flutter application.

From https://medium.com/@to.sasovsky/the-security-flaw-in-most-flutter-dotenv-packages-14703710af28#:~:text=The%20security%20flaw%20in%20most,asset%20to%20the%20Flutter%20application.

Instead of using flutter_dotenv, we should use secure_dotenv

Keep user signed in during offline use

Currently the user's profile gets wiped when we hit a non-successful response.

We should be preserving the user's account when offline and falling back on cached content (items on main page, profile page).

Rework user routes list

The list of routes created by the user needs to be reworked to work with the new Graphhopper-created routes. Swipe actions will also be added to delete or post the routes. The post functionality will not be implemented at this point.

Enable user sign-in functionality

Currently Auth0 is set up but there is still some work to be done to refresh the user's session when the app is opened and enable offline account use.

Use cache for network images

Post images take a while to retrieve on every app open. By falling back to ones stored in the cache, we can load them almost instantly every time.

Setup user profile

Need to guide user through steps to set up their profile (username, profile picture, maybe something else).

Handle route request failure

Show a message to the user if creating a route fails. This could be due to invalid input coordinates, an unsupported location, or network issues.

Map UX improvements

When showing a route, the route is shown on top of street names.

The Mapbox SDK includes multiple different map themes, which should be selectable by the user.

Query for nearby parks

Fetch parks near the user, showing their locations and letting the user set a distance filter.

Create Post wizard

Screen that guides the user through creating a Post. Should be redesigned in favour of something that feels already familiar like popular social media platforms.

Here is the one from trailblaze-android:
Image

Show route metrics

Should be shown on map tab and discover tab when previewing routes. Route metrics will include the road surface types and the types of roads.

Show route info

Show a card at the bottom of the screen that includes the route duration, distance, and metrics. Also add waypoint annotations to the map.

Show posts in Discover tab

Show a scrolling feed of posts from the community on the discover tab. Posts can be expanded to show more information about them. The design will be similar to the one introduced in trailblaze-android:

Image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.