Community-based vegan groceries map

Overview

Plante 🌱 app

Community-based vegan groceries map
https://planteapp.com/


app-store google-play


screenshots

🗣 Translations

We don't speak that many languages - if you would help us to translate the app into a langauge you speak that would be very good for the project! 🙂

We have 2 projects in POEditor:

📦 How to build

Install Flutter

Plante is a standard Flutter app and can be built with the standard Flutter environment 🙂

https://docs.flutter.dev/get-started/install

Install dependencies

Open Food Facts SDK is used as a submodule, to initialize it for the first time you should run:

$ git submodule update --init --recursive

Secrets

Even thought the source code is public, Google secrets cannot be public - that would violate Google's terms of service and would create a serious app vulnerability.

This means that while the flutter test command will work out of the box, to build and run the app you should either obtain app's secrets from us or use your own secrets.

Obtain existing secrets

If you're willing to help the project, you can get in touch with us on our Discord server: https://discord.com/invite/2QCgRbba

We will gladly provide you any needed information and will help you with any problems 🙂

Your own secrets

To assemble the app you will need next files:

  • android/app/google-services.json (Android)
  • android/app/debug.keystore (Android)
  • ios/GoogleService-Info.plist (iOS)
  • .env

The .env file is the only non-standard file. It should contain secrets in next format:

VAR_NAME1=VALUE1
VAR_NAME2=VALUE2
...

Currently used variables on Android:

  • PLANTE_ANDROID_GOOGLE_CLOUD_CLIENT_ID
  • PLANTE_ANDROID_GOOGLE_MAPS_KEY

On iOS:

  • PLANTE_IOS_GOOGLE_CLOUD_CLIENT_ID
  • PLANTE_IOS_GOOGLE_CLOUD_CLIENT_ID_REVERSE
  • PLANTE_IOS_GOOGLE_MAPS_KEY

To contribute on iOS you will need a (generated) tmp.xconfig.

👩🏾‍💻 Development

  • flutter format is used to enforce app's coding style - you should run $ flutter format lib from project's root directory before each commit.

  • The built_value package is used for value types. You should read its documentation if you want to edit any implements Built class, or if you want to create a new one. We run next command when we update/create such a class: $ flutter pub run build_runner build --delete-conflicting-outputs.

  • Tests are used extensively and are very appreciated. Please try to write new (or modify existing) tests when you're working on a patch.

©️ Open source - licence

Repository and contributions are under GNU General Public License v3.0

Comments
  • Separate ProgressBarWithHints into 2 separate widgets

    Separate ProgressBarWithHints into 2 separate widgets

    Hints should be at the top: image

    Progress bar should be at the bottom: image

    Figma: https://www.figma.com/file/lHqzwSaWfsBiWNj9iyOaoh/plante-UI?node-id=2194%3A42214

    Because now they're separated, they should be in 2 separate widget with similar logic. E.g. the hints widget can be named TimedHints.

    We should try to reuse the GradientSpinner as a progress bar widget. To reuse it, make it so that it would accept custom colors and borderRadius in its constructor. If it's not possible, a new widget should be created with a logic similar to GradientSpinner.

    The new progress bar widget should be at the bottom of the page. TimedHints should be just below the search bar (find Column which contains the search bar in MapPage).

    New design should not be applied yet.

    enhancement 1sp 
    opened by blazern 9
  • https://github.com/plante-app-team/plante/issues/85

    https://github.com/plante-app-team/plante/issues/85

    filters new design

    Not a fan of the result:

    https://user-images.githubusercontent.com/65116070/148696436-f2d0b00a-a090-48ca-b630-c5a777266347.mp4

    https://user-images.githubusercontent.com/65116070/148696450-d3273d2b-0e2a-4040-acd1-2facf5ae4203.mp4

    • the buttons are big, the user doesn't have an overview of the options(has to scroll)
    • changing a filter also requires a lot of scrolling

    I like the previous version better.

    opened by cyclomaticcomplexity1981 6
  • Label on products in product lists

    Label on products in product lists

    What does "similar store" means on the labels of products in ShopProductRangePage? ("Seen in similar store")

    The word "similar" doesn't give an idea that the product was seen in a store with the same name. It looks like it means "seen in a store, that visually looks similar" or something like that.

    We should try the label: "Seen in other <storename> stores".

    enhancement 1sp 
    opened by korablique 2
  • Persistent storage of news

    Persistent storage of news

    General

    • Persistently store only N most recent news.
    • When new news are stored, remove the elder ones.
    • On cold starts first try to load remote news, only then load cached news.
    • News should be stored in a new local DB. The main table should has same fields as the NewPiece class, including the text representation of the backend news piece.
    wontfix 3sp 
    opened by blazern 1
  • CRITICAL BUG: shops duplication

    CRITICAL BUG: shops duplication

    There is a bug in shop creation that, under the right circumstances, will duplicate the shop you just added.

    Adding a new shop both from the main screen (Add Shop) and from "Help with location" (regarding a product that already exists on OpenFoodFacts) will work as intended. One shop will be created and nothing goes wrong. (Examples of such shops: The supermarket "Μασούτης" in Asvestochori, Thessaloniki, right next to my many shops in Pefka.

    However, adding a shop while adding a new product (as in, by clicking the button on the menu that also lets you take a photo of the front package and the ingredients list) will result in a duplicate shop, regardless of the language of the product. One example is in North-West Greece, in my village, near Ptolemaida.

    Steps to reproduce:

    1. Scan the barcode of a product that was never added to Plante and OpenFoodFacts
    2. Add the name and brand of the product, take the pictures of the packaging (as requested by the app)
    3. Click whether a product is vegan or non-vegan. In both of my tries I clicked "Unsure" for the vegan status but I'm not sure whether this is what causes the problem.
    4. Click the button that lets you add a store.
    5. Go to the location of the store. Make sure there is no store there already.
    6. Click the pin to add the store. Add the name and type of the store.
    7. Add the shop (click done) and normally finish the product-adding process.
    8. Check the store on the map. There are now two stores with the same name and the same products.

    Clearing the map cache in the app doesn't fix the issue, which might indicate it's not a ghost shop but an actual duplicate

    Shop location: https://www.openstreetmap.org/search?query=foufas#map=19/40.52207/21.55419 (but the same thing happened to Arista Mini-Market in Pefka)

    Data for now: It happens both with Greek and with English shop names (Arista Mini-Market, Παντοπωλείο Μπίντσης Σταύρος) and it happens only by adding a shop this way. Both times!

    Not sure if it's a network-related issue, a racing condition, or the shop gets added both when creating the shop and when creating the product

    task 1sp 
    opened by blazern 1
  • Add

    Add "Manufacturer does not respond" moderator choice reason

    • Explanation of why a product has the negative vegan status: "Product has ambiguous ingredients which very often are non-vegan. The product's manufacturer did not respond to our request or refused to provide needed clarifications."

    • .. of why a product has ambiguous vegan status: "Product has ambiguous ingredients. The product's manufacturer did not respond to our request or refused to provide needed clarifications."

    1sp 
    opened by blazern 1
  • Ensure timed outed products obtaining is supported by UI

    Ensure timed outed products obtaining is supported by UI

    Sometimes when it takes OFF very long to respond to a products request, the spinner of "My Products" in Profile spins indefinitely. We need to make sure when OFF throws a timeout the UI reacts to it properly.

    wontfix 0.5sp 
    opened by blazern 1
  • Fix loading of suggestions-markers only when camera is moved

    Fix loading of suggestions-markers only when camera is moved

    When a new territory is just loaded, suggestions-markers start loading only when the camera moves.

    Suggestions must start loading immediately after the territory is loaded.

    bug wontfix 0.5sp 
    opened by blazern 1
  • Use new markers for shops with suggested products

    Use new markers for shops with suggested products

    Markers are here: https://www.figma.com/file/lHqzwSaWfsBiWNj9iyOaoh/plante-UI?node-id=796%3A1690

    The color of the circle at MapShopsFilterCheckbox should be same as on the new markers.

    enhancement 0.5sp 
    opened by blazern 1
  • Let user enable products suggestions back from ShopProductRangePage

    Let user enable products suggestions back from ShopProductRangePage

    This issue depends on: #65 See also: #66

    When all types of suggested products are disabled, ShopProductRangePage should display a "Products suggestions settings" button at the bottom of the list. The button should open products suggestions settings subpage (added in #65).

    If ShopProductRangePage didn't have any suggestions loaded when it was opened, then user opened the settings by the button, enabled suggestions and returned back to ShopProductRangePage - it should load the enabled suggestions.

    The button should be covered with tests.

    enhancement wontfix 1sp 
    opened by blazern 1
  • Connect map filters with suggestions enable/disable settings

    Connect map filters with suggestions enable/disable settings

    This issue depends on: https://github.com/plante-app-team/plante/issues/65 See also: #67

    The filters are managed by MapPageModeDefault.

    The map filters for suggestions must be removed - instead of 2 separate filters for OFF and Radius suggestions, there should be just 0 filter-checkmark saying "Products seen in similar stores".

    The "Stores with products" filter now performs the work previously done by the 2 removed filters - when "Stores with products" is checked, then shops with suggested products are shown on the map (and not shown if it's not checked).

    MapPageModeDefault.filter should use values from settings - it should filter out shops (with suggestions) that are disabled by the settings (https://github.com/plante-app-team/plante/issues/65)

    Of course, MapPageModeDefault.filter shouldn't filter out a shop with suggestions if the shop satisfies some other condition (the empty/not-empty filtering).

    The changes must be covered with tests in map_page_map_filters_test.dart.

    enhancement wontfix 1sp 
    opened by blazern 1
  • Always prioritize the user's device language when displaying a product

    Always prioritize the user's device language when displaying a product

    The app supports 2 kinds of languages:

    • the UI language, which is always same as the system language
    • the products languages, which are set up at the first start and can be change in the settings

    Even though it's impossible to remove the system's language from the list of the products languages, it's possible to lower it's priority so that the products would be displayed no in the system language most of the time.

    This behavior confuses users - they don't understand why the system language change does not affect the language of a product's ingredients.

    To avoid confusion, the app should always prioritize the user's device language when displaying a product.

    To do that, user_langs_page.dart should be modified - the system language should always be first and the list and it should be not drag-and-droppable.

    good first issue help wanted task 1sp 
    opened by blazern 0
  • Apply the rest of the News Feed page design

    Apply the rest of the News Feed page design

    Don't apply the elements which are not implemented yet, but apply correct fonts and paddings of the existing elements.

    https://www.figma.com/file/thInj3u6mcDNXr9CCGqVbA/plante?node-id=9%3A19911

    1sp 
    opened by blazern 0
  • Add the Like button

    Add the Like button

    • BackendProduct and Product should use the "likes_count" and "liked_by_me" fields from the backend
    • When a product is "liked by me", the Like button should be active, otherwise inactive
    • When clicked, the button sends either the "like_product" or the "unlike_product" cmd
    • On button press (not on cmd success, because of slow Internet the cmd can execute after too much of time), the local "liked by me" and the likes_count fields should change their state accordingly
    2sp 
    opened by blazern 0
  • Add ability to report a news piece

    Add ability to report a news piece

    • Add a more-actions button to the news-piece widget
    • When clicked, opens a context menu
    • The context menu contains a "Report" item
    • The "Report" item acts just like the report button in the DisplayProductPage - it opens a popup with a text field where the user can type their report

    Design: https://www.figma.com/file/thInj3u6mcDNXr9CCGqVbA/plante?node-id=9%3A22232 image

    2sp 
    opened by blazern 0
  • Replace shop's address with the

    Replace shop's address with the "location" button

    • Collapse multiple same-product-news when they come in a row, one after the other
    • Add the "localtion" button: -- When clicked, opens the map, showing locations of all the collapsed news piece's shops

    Design: https://www.figma.com/file/thInj3u6mcDNXr9CCGqVbA/plante?node-id=9%3A19911 The location button: image

    2sp 
    opened by blazern 0
Releases(22.11.261)
  • 22.11.261(Nov 26, 2022)

    What's Changed

    • Enable/disable flashlight when the user clicks on the camera cutout in the barcode scanning page by @blazern in https://github.com/plante-app-team/plante/pull/251
    • Add ability to delete user account to Settings by @blazern in https://github.com/plante-app-team/plante/pull/257
    • Finnish by @blazern in https://github.com/plante-app-team/plante/pull/258
    • Flutter upgrade by @blazern in https://github.com/plante-app-team/plante/pull/259
    • Add Vietnamese and Portuguese by @blazern in https://github.com/plante-app-team/plante/pull/260
    • Qr scanning fix by @blazern in https://github.com/plante-app-team/plante/pull/262
    • Another QR scanning fix and version update by @blazern in https://github.com/plante-app-team/plante/pull/263

    Full Changelog: https://github.com/plante-app-team/plante/compare/22.06.041...22.11.261

    Source code(tar.gz)
    Source code(zip)
  • 22.06.041(Jun 4, 2022)

    What's Changed

    • Fetch new translations by @blazern in https://github.com/plante-app-team/plante/pull/249
    • Change verion to 22.06.041 (60) by @blazern in https://github.com/plante-app-team/plante/pull/250

    Full Changelog: https://github.com/plante-app-team/plante/compare/22.06.040...22.06.041

    Source code(tar.gz)
    Source code(zip)
  • 22.06.040(Jun 4, 2022)

    What's Changed

    • Create find_unused_strings.py, remove unused strings by @blazern in https://github.com/plante-app-team/plante/pull/220
    • Fail the Github pull requests if unused Flutter strings are found by @blazern in https://github.com/plante-app-team/plante/pull/221
    • Fix: CRITICAL BUG: shops duplication by @blazern in https://github.com/plante-app-team/plante/pull/225
    • Add translatable strings for Apple Store and Play Market by @blazern in https://github.com/plante-app-team/plante/pull/223
    • Create NewsFeedManager, NewsPiece, blank NewsFeedPage and a few other things by @blazern in https://github.com/plante-app-team/plante/pull/231
    • First implementation of News Feed UI by @blazern in https://github.com/plante-app-team/plante/pull/232
    • Small padding fix by @blazern in https://github.com/plante-app-team/plante/pull/233
    • Implement pull to refresh for News Feed by @blazern in https://github.com/plante-app-team/plante/pull/234
    • To the product's page Add a button to show the product on the map by @blazern in https://github.com/plante-app-team/plante/pull/236
    • Load news only when News Page is opened by @blazern in https://github.com/plante-app-team/plante/pull/238
    • Add class 'TestDiRegistry' to simplify Pages testing by @blazern in https://github.com/plante-app-team/plante/pull/239
    • Move News classes to another folder by @blazern in https://github.com/plante-app-team/plante/pull/241
    • Re-request news after the news feed page is opened and 5 minutes have passed by @blazern in https://github.com/plante-app-team/plante/pull/242
    • Re-request news on the news feed page opening when the map is moved far enough by @blazern in https://github.com/plante-app-team/plante/pull/245
    • Don't show the "Show where sold" button if the product is not sold nearby by @blazern in https://github.com/plante-app-team/plante/pull/246
    • In DisplayProductPage fetch the area around the map camera if necessary by @blazern in https://github.com/plante-app-team/plante/pull/247
    • Change version to 22.06.040 (59) by @blazern in https://github.com/plante-app-team/plante/pull/248

    Full Changelog: https://github.com/plante-app-team/plante/compare/22.02.230...22.06.040

    Source code(tar.gz)
    Source code(zip)
  • 22.02.230(Feb 23, 2022)

    What's Changed

    • Show Miles instead of Kilometers in Myanmar and Liberia by @blazern in https://github.com/plante-app-team/plante/pull/193
    • ios release + added ios strings to english by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/195
    • Location improvements by @blazern in https://github.com/plante-app-team/plante/pull/196
    • Fix a small issue with some Greek strings by @blazern in https://github.com/plante-app-team/plante/pull/197
    • Move a folder: lib/outside/products/ -> lib/products/ by @blazern in https://github.com/plante-app-team/plante/pull/199
    • Persistent contributed products storage by @blazern in https://github.com/plante-app-team/plante/pull/200
    • White map fix attempt by @blazern in https://github.com/plante-app-team/plante/pull/201
    • When user creates a new shop, suggest them to use one of the other shops nearby by @blazern in https://github.com/plante-app-team/plante/pull/202
    • Add the Wholesale shop type by @blazern in https://github.com/plante-app-team/plante/pull/205
    • Process the 'deleted' field of BackendShop - don't display such shops by @blazern in https://github.com/plante-app-team/plante/pull/206
    • Add a Help-and-Feedback settings subpage, with buttons to contact or follow us by @blazern in https://github.com/plante-app-team/plante/pull/207
    • Some padding fixes by @blazern in https://github.com/plante-app-team/plante/pull/208
    • Fix: Map progressbar often hangs by @blazern in https://github.com/plante-app-team/plante/pull/209
    • Fix padding below the map search bar by @blazern in https://github.com/plante-app-team/plante/pull/210
    • Add an ability to see and copy product barcode by @blazern in https://github.com/plante-app-team/plante/pull/211
    • Add created-by-the-user products to the Recently Viewed products list by @blazern in https://github.com/plante-app-team/plante/pull/212
    • Fix: Bug: when a new territory is loaded, markers don't show up until the map is moved a bit by @blazern in https://github.com/plante-app-team/plante/pull/213
    • Prohibit stores creation while the current map territory is being loaded by @blazern in https://github.com/plante-app-team/plante/pull/214
    • Apply proper design to checkmarks in Settings by @blazern in https://github.com/plante-app-team/plante/pull/215
    • Warn on a product if some series of it are non-vegan by @blazern in https://github.com/plante-app-team/plante/pull/216
    • Fetch fresh strings by @blazern in https://github.com/plante-app-team/plante/pull/217
    • Change version to 22.02.230 (58) by @blazern in https://github.com/plante-app-team/plante/pull/218

    Full Changelog: https://github.com/plante-app-team/plante/compare/22.02.120...22.02.230

    Source code(tar.gz)
    Source code(zip)
  • 22.02.120(Feb 12, 2022)

    What's Changed

    • https://github.com/plante-app-team/plante/issues/85 by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/96
    • Change a few English strings by @blazern in https://github.com/plante-app-team/plante/pull/165
    • Add a moderator's comment about lack of response from a manufactorer by @blazern in https://github.com/plante-app-team/plante/pull/166
    • Fix: CRITICAL BUG: The app does not work at all on Android 7 and below by @blazern in https://github.com/plante-app-team/plante/pull/175
    • Fixes for the Web Admin page by @blazern in https://github.com/plante-app-team/plante/pull/178
    • Map filters tweaks by @blazern in https://github.com/plante-app-team/plante/pull/179
    • Strings enhancements - fixes and contexts additions by @blazern in https://github.com/plante-app-team/plante/pull/180
    • included ios translation files for new languages by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/182
    • Create settings to disable products suggestion by @blazern in https://github.com/plante-app-team/plante/pull/183
    • Update Github's page screenshot by @blazern in https://github.com/plante-app-team/plante/pull/184
    • In countries where applicable use Feet and Miles instead of Meters and Kms by @blazern in https://github.com/plante-app-team/plante/pull/185
    • Fetch fresh strings by @blazern in https://github.com/plante-app-team/plante/pull/186
    • Pre release fixes by @blazern in https://github.com/plante-app-team/plante/pull/187
    • Fetch fresh translations by @blazern in https://github.com/plante-app-team/plante/pull/188
    • Change version to 22.02.120 (57) by @blazern in https://github.com/plante-app-team/plante/pull/189

    Full Changelog: https://github.com/plante-app-team/plante/compare/22.02.050...22.02.120

    Source code(tar.gz)
    Source code(zip)
  • 22.02.050(Feb 5, 2022)

    What's Changed

    • Add the OFF Plant-based-foods category to products when they are being put to the map by @blazern in https://github.com/plante-app-team/plante/pull/112
    • Revert "Add the OFF Plant-based-foods category to products when" by @blazern in https://github.com/plante-app-team/plante/pull/113
    • Profile bottom bar by @blazern in https://github.com/plante-app-team/plante/pull/115
    • Consumer by @blazern in https://github.com/plante-app-team/plante/pull/116
    • Implement the bottom's bar Plus button behavior by @blazern in https://github.com/plante-app-team/plante/pull/117
    • Fix Discord link in README.md by @blazern in https://github.com/plante-app-team/plante/pull/118
    • Allow user to set an avatar image when user creates an account by @blazern in https://github.com/plante-app-team/plante/pull/122
    • Apply proper design to EditUserDataWidget and support avatar deletion by @blazern in https://github.com/plante-app-team/plante/pull/124
    • Prohibit selection of too small avatar images by @blazern in https://github.com/plante-app-team/plante/pull/125
    • Ensure cropped product image is not smaller than min size by @blazern in https://github.com/plante-app-team/plante/pull/126
    • Add to History all scanned products by @blazern in https://github.com/plante-app-team/plante/pull/127
    • Set the new "edited" param when user creates a product by @blazern in https://github.com/plante-app-team/plante/pull/128
    • Implement header of the Profile page by @blazern in https://github.com/plante-app-team/plante/pull/132
    • Implement profile editing by @blazern in https://github.com/plante-app-team/plante/pull/134
    • Avatar fixes by @blazern in https://github.com/plante-app-team/plante/pull/135
    • Ensure when adding a product the retrieved lost product photo is never user avatar by @blazern in https://github.com/plante-app-team/plante/pull/136
    • Ensure when updating user avatar the profile screen doesn't break on Androids on activity death during image selection by @blazern in https://github.com/plante-app-team/plante/pull/137
    • Fix visually not-updating avatars when they change (use avatar ID) by @blazern in https://github.com/plante-app-team/plante/pull/138
    • Create FUNDING.yml by @blazern in https://github.com/plante-app-team/plante/pull/139
    • Initial implementation of the Profile products lists by @blazern in https://github.com/plante-app-team/plante/pull/140
    • Add UserContributionsManager - a keeper of all user's contributions to the app by @blazern in https://github.com/plante-app-team/plante/pull/141
    • A quick fix by @blazern in https://github.com/plante-app-team/plante/pull/142
    • Add a list of products the user has contributed to the app by @blazern in https://github.com/plante-app-team/plante/pull/143
    • Fix the top progress bar being no longer visible in InitUserPage by @blazern in https://github.com/plante-app-team/plante/pull/144
    • Fix: Map progress bar forces other UI elements to move by @blazern in https://github.com/plante-app-team/plante/pull/145
    • Move down top controls on every screen by @blazern in https://github.com/plante-app-team/plante/pull/147
    • Apply new Settings design by @blazern in https://github.com/plante-app-team/plante/pull/148
    • Support users contributions which were made before the contributions mechanics were implemented by @blazern in https://github.com/plante-app-team/plante/pull/149
    • Cancel map's shop creation mode on back press by @blazern in https://github.com/plante-app-team/plante/pull/153
    • Properly compress images before sending them to Open Food Facts by @blazern in https://github.com/plante-app-team/plante/pull/154
    • Pull fresh translations for the Profile release by @blazern in https://github.com/plante-app-team/plante/pull/155
    • Fix infinite progress bar in Profile - empty barcodes list is no longer being requested from OFF by @blazern in https://github.com/plante-app-team/plante/pull/162
    • Change version to 22.02.050 (56) by @blazern in https://github.com/plante-app-team/plante/pull/163

    Full Changelog: https://github.com/plante-app-team/plante/compare/22.01.060...22.02.050

    Source code(tar.gz)
    Source code(zip)
  • 22.01.060(Jan 6, 2022)

    What's Changed

    • Separate ProgressBarWithHints into 2 separate widgets #79 by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/90
    • A couple of tiny fixes by @blazern in https://github.com/plante-app-team/plante/pull/91
    • New optimizations by @blazern in https://github.com/plante-app-team/plante/pull/92
    • (Hopefully) final map optimizations by @blazern in https://github.com/plante-app-team/plante/pull/93
    • Fetch translations by @blazern in https://github.com/plante-app-team/plante/pull/94
    • Change version to 22.01.060 (55) by @blazern in https://github.com/plante-app-team/plante/pull/95

    Full Changelog: https://github.com/plante-app-team/plante/compare/21.12.310...22.01.060

    Source code(tar.gz)
    Source code(zip)
  • 21.12.310(Dec 31, 2021)

    What's Changed

    • Update map markers of shops by @blazern in https://github.com/plante-app-team/plante/pull/71
    • On ShopCard display same label "products listed" for shops with suggestions only by @blazern in https://github.com/plante-app-team/plante/pull/72
    • Suggested products optimization #1 by @blazern in https://github.com/plante-app-team/plante/pull/74
    • Update app_en.arb by @korablique in https://github.com/plante-app-team/plante/pull/75
    • Suggestions optimizations by @blazern in https://github.com/plante-app-team/plante/pull/76
    • Use new markers for shops with suggested products #69 by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/77
    • Multiple map optimizations by @blazern in https://github.com/plante-app-team/plante/pull/78
    • Apply new design from Figma to ShopProductRangePage #64 by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/83
    • Apply new design to the seen-in-other-stores label by @blazern in https://github.com/plante-app-team/plante/pull/86
    • Send Shop info to OFF when a product is added to a shop by @blazern in https://github.com/plante-app-team/plante/pull/84
    • Tiny change by @blazern in https://github.com/plante-app-team/plante/pull/87
    • Fetch fresh translations by @blazern in https://github.com/plante-app-team/plante/pull/88
    • Change version to 21.12.310 by @blazern in https://github.com/plante-app-team/plante/pull/89

    New Contributors

    • @korablique made their first contribution in https://github.com/plante-app-team/plante/pull/75

    Full Changelog: https://github.com/plante-app-team/plante/compare/21.12.201...21.12.310

    Source code(tar.gz)
    Source code(zip)
  • 21.12.201(Dec 20, 2021)

    What's Changed

    • Readme2 by @blazern in https://github.com/plante-app-team/plante/pull/1
    • Add Flutter static style and warnings checks by @blazern in https://github.com/plante-app-team/plante/pull/3
    • fix ios open source + change readme.md by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/7
    • Tiny change by @blazern in https://github.com/plante-app-team/plante/pull/8
    • Correct poeditor links by @blazern in https://github.com/plante-app-team/plante/pull/9
    • update dependency's by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/10
    • Update readme_resources/screenshots.jpg by @blazern in https://github.com/plante-app-team/plante/pull/12
    • first attempt at creating blacklist by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/11
    • OFF HTTP interception change by @blazern in https://github.com/plante-app-team/plante/pull/13
    • New suggested products feature by @blazern in https://github.com/plante-app-team/plante/pull/14
    • Fix the 'country' field in OffShop by @blazern in https://github.com/plante-app-team/plante/pull/15
    • Don't show suggested products which are already in the shop by @blazern in https://github.com/plante-app-team/plante/pull/18
    • Update issue templates by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/16
    • showing country name on suggested products list by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/19
    • New suggested products feature by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/21
    • Store OFF shops JSON persistently by @blazern in https://github.com/plante-app-team/plante/pull/24
    • refactor countries by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/23
    • Workflow changes by @blazern in https://github.com/plante-app-team/plante/pull/27
    • Cache barcodes of OFF shops by @blazern in https://github.com/plante-app-team/plante/pull/28
    • Fix exceptions handling in background workers by @blazern in https://github.com/plante-app-team/plante/pull/29
    • Create 'osm' folder by @blazern in https://github.com/plante-app-team/plante/pull/31
    • Add user-shop interactions persistent storage by @blazern in https://github.com/plante-app-team/plante/pull/32
    • Support adding of suggested products to shops by @blazern in https://github.com/plante-app-team/plante/pull/34
    • Load shops with suggestions gradually, cancelling old loading when map is scrolled by @blazern in https://github.com/plante-app-team/plante/pull/35
    • Map tests update by @blazern in https://github.com/plante-app-team/plante/pull/36
    • Update Polish by @blazern in https://github.com/plante-app-team/plante/pull/37
    • Add a user-friendly map loading progress bar, Show a progressbar on the map when suggested products are being loaded by @blazern in https://github.com/plante-app-team/plante/pull/38
    • Rename LocationController -> UserLocationManager by @blazern in https://github.com/plante-app-team/plante/pull/39
    • Suggestions country dynamic change by @blazern in https://github.com/plante-app-team/plante/pull/40
    • Don't show "Last seen" date on suggested products by @blazern in https://github.com/plante-app-team/plante/pull/41
    • Order OFF suggestions by their creation date (newest first) by @blazern in https://github.com/plante-app-team/plante/pull/42
    • Allow user to clear suggestions cache from the settings by @blazern in https://github.com/plante-app-team/plante/pull/43
    • Changes in ShopProductsRangePage by @blazern in https://github.com/plante-app-team/plante/pull/44
    • change strings by @cyclomaticcomplexity1981 in https://github.com/plante-app-team/plante/pull/45
    • Add new markers for shops with suggested products by @blazern in https://github.com/plante-app-team/plante/pull/46
    • Add a few strings for the Suggested Products feature by @blazern in https://github.com/plante-app-team/plante/pull/47
    • Update the look of the "Load shops" map button by @blazern in https://github.com/plante-app-team/plante/pull/48
    • Add 'Shops With Suggested Products' map filtering by @blazern in https://github.com/plante-app-team/plante/pull/49
    • Stop loading suggested products when map is zoomed out by @blazern in https://github.com/plante-app-team/plante/pull/52
    • Put a special mark on products added to shops from suggestions, so that they could be reverted if needed by @blazern in https://github.com/plante-app-team/plante/pull/53
    • Show radius-based products suggestions by @blazern in https://github.com/plante-app-team/plante/pull/54
    • Add new translations by @blazern in https://github.com/plante-app-team/plante/pull/55
    • Change version to 21.12.200 (52) by @blazern in https://github.com/plante-app-team/plante/pull/56
    • Fetch translations by @blazern in https://github.com/plante-app-team/plante/pull/57
    • Enable country-wide products suggestions for USA by @blazern in https://github.com/plante-app-team/plante/pull/58
    • Change version to 21.12.201 (53) by @blazern in https://github.com/plante-app-team/plante/pull/59

    New Contributors

    • @blazern made their first contribution in https://github.com/plante-app-team/plante/pull/1
    • @cyclomaticcomplexity1981 made their first contribution in https://github.com/plante-app-team/plante/pull/7

    Full Changelog: https://github.com/plante-app-team/plante/commits/21.12.201

    Source code(tar.gz)
    Source code(zip)
An E-Commerce app to buy groceries written in Flutter

Big Cart An Ecommerce app to buy groceries Framework: Flutter Architecture: MVVM Backend: Api State Management: Stacked Features User can Login/Regist

Mohsin Raza 11 May 30, 2022
Mobile - Budipest - A community-based toilet finder app that seeks to alleviate the problem of public toilets in Hungary

Budipest | App Store | Google Play | Facebook What's the deal with the name? Bud

Budipest 2 Feb 7, 2022
Map location picker for flutter Based on google_maps_flutter

map_location_picker: A simple library to pick a location on a map. Made by Arvind @rvndsngwn: Compatibility with Geolocator Use of Google map APIs Add

Arvind Sangwan 9 Nov 27, 2022
Flutter Community Plus Plugins

Flutter Community Plus Plugins Plus plugins PlusPlugins is a set of Flutter plugins that is developed based on existing Flutter plugins with extra fun

Flutter Community 1.1k Jan 3, 2023
Flutter guide + SDK. Check Community repository for common information.

freeRASP for Flutter freeRASP for Flutter is a part of security SDK for the app shielding and security monitoring. Learn more about provided features

Talsec 63 Dec 26, 2022
A community-driven hot deals sharing app developed with Flutter.

hotdeals-app hotdeals-app is an online marketplace app developed with Flutter. The app's Backend can be found here. Table of Contents Screenshots Feat

Halil İbrahim Durmuş 21 Jan 4, 2023
A platform for car sharing where users can book any car that suits their needs and wants for their intended journey, from the closest hosts in the community.

Getting Started This project is a starting point for a Flutter application. For help getting started with Flutter, view our online documentation, whic

Faisal Ramdan 28 Apr 29, 2022
An opinionated, community-driven set of lint rules for Dart and Flutter projects. Like pedantic but stricter

Lint for Dart/Flutter lint is a hand-picked, open-source, community-driven collection of lint rules for Dart and Flutter projects. The set of rules fo

Pascal Welsch 257 Jan 3, 2023
Radiocom-flutter - This is an Flutter application for Community Media Stations.

radiocom-flutter This is a flutter application for Community Media Stations based in radioco APIs. Getting Started This app is supposed to be configur

Fernando Souto Gonzalez 60 Oct 24, 2022
Luis Ciber 3 Jan 11, 2022
Actively maintained, community-driven Firebase BaaS for chat applications with an optional chat UI.

Flutter Firebase Chat Core Actively maintained, community-driven Firebase BaaS for chat applications with an optional chat UI. Flyer Chat is a platfor

Flyer Chat 173 Jan 2, 2023
A completely Responsive Community App- Works on Android!

Seta A completely Responsive Community App- Works on Android! Features Responsive Realtime UI Email & Password Authentication Share Posts with Caption

Ashwin Sivasankaran 4 Nov 13, 2022
Kits for flutter_ume from community.

flutter_ume_kits Kits for flutter_ume from community. See https://pub.dev/packages/flutter_ume Welcome to contribute here for flutter_ume kits environ

CFUG (筹) 6 Nov 9, 2022
Flutter package to create list of radio button, by providing a list of objects it can be a String list or list of Map.

Custom Radio Group List Flutter package to create list of radio button, by providing a list of objects it can be a String list or list of Map. Feature

Ashok Kumar Verma 0 Nov 30, 2021
Note the place to remember it's name and descriptions along with google map location.

Note the Place Note the place to remember it's name and descriptions along with map location. View in Web Click here for web view Note: for bettter lo

subash kc 4 May 5, 2022
Customizable heat map interface analysis library

Round Spot Customizable heat map interface analysis library Round Spot simplifies the UI accessibility and behaviour analysis for Flutter applications

Stanisław Góra 31 Dec 12, 2022
FormField to pick one or more locations from open streat map

FormField to pick one or more locations from open streat map Features Pick single location Pick multi locations display open street maps can work with

Mohamed Dawood 13 Dec 15, 2022
dynamic link , notifaction , google map, animated-to

dynamicapp A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started i

Hussein-Sarsour 0 Dec 29, 2021
A flutter demo app to practice Map data structure and its common operations

Map Operations A flutter demo app to practice Map data structure and its common operations Developer Alexander Sosa (https://www.linkedin.com/in/alexa

Alexander Sosa 0 Jan 3, 2022