Skip to content

IgorMing/muda_facil

Repository files navigation

Muda Fácil App

App for learning flutter (and maybe become a solution for house moving)

Here's a link to Some wireframes and basic screen navigation flow

MVP TODOs

  • check how to get app's ThemeMode properly

  • implement reset password flow

  • get list of items from firebase firestore

  • filter out from autocomplete list all items that were already selected

  • add a way to include a comment/observation for each item of the list

  • do a visual diagram exposing the data distribution/architecture

  • change the way that we add observations. Use ExpansionTile instead. (better UX)

  • add a consistent first option to "add" the string that were not found

  • create review screen

  • show current moving order in home screen. (create a separated widget to it)

  • check the best way to treat date

  • make a better UI for the current order, and validate the UI if the order is null

  • navigate to items screen for editting the order

  • save user role on firebase on signup flow

  • add address flow

  • on confirming the review, persist it on firestore (save it on a new sub collection called orders/, into the users/ collection)

  • remake the order creation flow to provide a good UX

  • show order items for a better UX

  • add moving date flow (with platform adaptive datepicker)

  • save the date on the flow only after clicking in confirm

  • add/update order in firestore

  • add a way to use RefreshIndicator on my order

  • prepare the moving order structure to have status

  • make general review screen

  • delete a pending order

  • add a way to refresh the entire current order

  • add a way to ask for help, after sending an order

  • show different content if order is pending and if it's waiting for a driver

  • after we get a driver, we should display the driver information

    • provide a way to decline it (show a input modal to a brief explanation why)
    • provide a way to approve it (here, after the price being set, we can generate a pix code and let it ready to be used, after the user approves it)
  • add a way to copy a pix value, for paying the moving order

  • fix general issues on signin/signout

  • fix UI issues on Android

  • show different tabs based on the access role

  • when the payment gets done, we provide the driver's phone (does that make sense? keep thinking...)

  • listen for order data changes

  • double check the entire flow, from the initial to finish

  • add a step on the sign up flow to put the whatsapp number

  • improve the profile screen

  • configure splash screen (maybe a rework on this will be necessary later)

  • create admin screens layouts on draw.io

  • implement initial menu (admin)

  • create a list of orders, being able to set information and send the budget value (admin)

  • check if the order is waiting for driver or for payment (second part of the flow that requires an admin approval)

    • if waiting for driver, open a proper modal for fill these informations
    • add a logical check either for what is the current status, and consider the background color by that.
  • create an admin tab

  • refactor on storage's items list

  • save candidates to the list after an order be sent

  • (admin feat) check new items on a separated list, and edit/approve it. (Approve means: Remove it from items/candidates Add it to the document items/list)

    • UI and simple get
    • edit
    • approve
    • remove
  • configure analytics

  • (admin feat) create screen to follow orders with help needed (no action on it right now)

  • apply new UI for the user order (following draw.io' design)

  • (improvement) on user's items' screen, close the keyboard everytime that might be convenient

  • integrate google places auto complete for addresses

Less priority TODOs

  • configure push notifications and send one when the order takes any feedback (e.g. driver responded and the price is ready for approval)

  • find items that are not in the list, and persist them into a different document (add into a doc called candidates under items collection)

  • add a progress bar to the order

  • add a way to the user change its name

  • separate items on groups, to make the user's lifes easier

  • change focus based on which button was pressed (for addresses)

  • make profile fields editable

Structural info

  • put to the moving order structure
    • Req
      • origin address
      • destiny
      • items
      • status (which ones?)
    • Opt
      • flexible? (bool)
      • pix code?
      • declinedReason?

Main flow

  • new moving order
    • start the flow -> OrderStatus = pending
    • add all required information (origin, destiny, date and items)
    • if user declines, open a input dialog for explaining why... and set the status -> OrderStatus = declined
    • on confirming the review, set it -> OrderStatus = waiting_driver
      • Here is where we do the manual work for finding a driver to work on that order
      • a driver accepts that trip, and sends the proposal -> OrderStatus = waiting_approval
    • user approves the order -> OrderStatus = waiting_payment_code
      • Another manual part of the flow, is creating a pix code and put it into the order
      • Generating the code, and pasting it into the firestore directly, we change the status -> OrderStatus = waiting_payment
    • after the payment gets concluded -> OrderStatus = approved
      • now just wait for the date and make the moving gets done!

bug

  • when I add more than one item, and I try to add more items to one of them, both changes. Fix it!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published