Git Product home page Git Product logo

guess_the_text's Introduction

Hi there πŸ‘‹

see my online resume here

guess_the_text's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

guess_the_text's Issues

Add timed session

  • configurable timer
  • default to 2 minutes
  • visual update inside the game
  • on timeout the word game ends

app should persist the last selected category

Actual behavior:

  • one categories are retrieved from API call, the app default selection to the very first one

Expected behavior:

  • each time a user pick a category, we should persist the selected one
  • on app startup we should check if we have a persisted category, double check if it (still) exists and select it

We should store already solved text

  • actually the user randomly has to guess the same text over and over because we just don't memoize
  • perhaps we should not store at first on local storage (or if we do, we should also provide a mean to reset guessed texts with confirmation πŸ€”)

ConnectivityStatusWidget issue on webapp

Detected an issue with the connectivity_plus api when the platform is the web:

Proposed fix:

  • conditional rendering inside parent widget: only render when platform is NOT web

Something like:

   const DataCell(ifNotWebPlatform ? ConnectivityStatusWidget() : '√'),

image

Persisted statistics

Record stats regarding:

  • number of success
  • number of failure
  • global category scores

code coverage reporting

Add instructions in the README.md about how to produce the coverage report
That would be great for anyone asking what's covered so far πŸ€”

Detail instructions:

  • to generate the stats lcov file
  • tooling for converting that to a nice browsable html report

Automate build number update on Windows build

Actually the build number and version default to 1.0.0 and blank strings

  • update build-windows.cmd to automate replacement inside Runner.rc
  • update attributes ProductVersion and FileVersion to match [pubspec.yaml](https://github.com/amwebexpert/guess_the_text/blob/master/pubspec.yaml)
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904e4"
        BEGIN
            VALUE "CompanyName", "Open Source software (MIT LICENSE)" "\0"
            VALUE "FileDescription", "Open Source Educational game application" "\0"
            VALUE "FileVersion", VERSION_AS_STRING "\0"
            VALUE "InternalName", "GuessTheText" "\0"
            VALUE "LegalCopyright", "Copyright (C) 2022 AndrΓ© Masson. All rights reserved." "\0"
            VALUE "OriginalFilename", "GuessTheText.exe" "\0"
            VALUE "ProductName", "Guest the text" "\0"
            VALUE "ProductVersion", VERSION_AS_STRING "\0"
        END
    END

Enhance the categories screen

Once this pull request is merged, enhance the categories screen:

  • enhance the TextService by adding a Future<Map<ApiCategory, File>> getCategoryCacheFilesMap() async
    • NOTE: for performance purpose, we could have null as File value, so we know the file does not exists instead of leaving the consumer call file.existsSync on each file later...
    • could also be implemented Future<Map<ApiCategory, CacheModel>> getCategoryCacheFilesMap() async to avoid implementation leak!
    • see Directory('my-dir').listSync to list all files of a directory
  • add an File param to the CategoryWidget
  • add detail to the CategoryWidget:
    • timestamp of the last cached content (if the file exists)
    • category language label
  • bonus: leading icon for the language
  • trailing icon to show if any cached content exists

Missing i18n translations

Look for TODOs like

  • // TODO translate me i18n
  • // TODO Localize me

It's about adding the labels in the lib/i10n/*.arb, regenerating the code through flutter run so the generated class will have the additional attributes, and will therefore be usable instead of the harcoded string

Add ability to share the QR Code

  • user should be able to share the QR code (as a file? encodedText? picture?)
  • recipient should be able to accept chalenge from shared QR code

prevent "Accept challenge" for unsuported platforms

For some platforms, the QR code reader wont be supported (web platform?)

  • read the documentation of the dart library we are using
  • detection of unsupported platform
  • disable the menu option of accepting challenge

list of authors and their website in about screen

The project is having more than one contributor so improve the about screen accordingly by transforming the single author name and linkedin profile with a list of authors

  • create the Contributor model class
  • add a public array of hard coded contributors
  • modify the app.version.table.widget.dart widget to iterate through the new contributors array and show their info

Offline mode support for the categories screen

Once this pull request is merged, enhance the categories screen:

This depends on #79

  • add offline mode detection through connectivity_plus
  • wait for connectivity status to be retrieved before displaying any content
  • disable the ListTile onPress whenever no cached content exists for the specific category

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.