Skip to content

vitalyiegorov/suuudokuuu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stand With Ukraine

Suuudokuuu

Sudoku game to help Ukraine win the war against Russia.

Play now! Do not hesitate

Download on the App Store

TODO

Features

  • share puzzle/challenge with friends:
    • challenge mode - see target score and countdown timer based on shared data
  • add mistakes purchasing through in-app purchases
    • donate to ZSU, add BE logic for this
    • add donation branding and description on main screen
  • add gamification and percentage of completeness
  • add game pausing? timer should not run when app is in background
  • disable screenshots?
  • add unique check for generated field, sometimes puzzle can have multiple solutions
  • best stats is confusing and not clear, especially time:
    • add best time/score for each difficulty, when user selects difficulty show separate screen
  • score row completing row/col/group

Frontend

  • improve logic code coverage
  • add donation CTA on main screen and ukraine support
  • add animations
    • add number flying to its stop?
    • add more fun to winner page(ZSU, Ukraine, donation CTA)
    • add more fun to looser page(ZSU, Ukraine, donation CTA)
    • animation when finishing full row/col/group(score multiplies)
  • add successful run count and longest run count history on main screen?
  • add game logic:
    • timer
    • score and its calculation based on errors, timer, row/col/group finish
  • optimize rendering(why does it lag? =)

Web

  • fix mobile version padding and field size
  • add pages titles
  • fix font issue

Backend

  • setup backend, app should still support full offline mode support
  • add user creation and logic
  • store user solved puzzle, add time, score, rank for same puzzle
  • create leaderboards

CI/CD

  • create release notes and migrate to semantic-release
  • setup maestro e2e tests on CI pull request
  • android build for main branch should be published to play console
  • ios/android builds should be published as artifacts so team members can test them
  • setup conventional commits, automatic version management and changelog generation(ios, android also)
  • setup pull-request pipeline for linting, tests, etc
  • ios build for main branch should be published to testflight

E2E

  • Create separate flows for described items
  • Pass selectors from typescript selector files
  • Cannot select value if not empty cell selected
  • Deselect cell if value is completed
  • Leave cell selection if value is not completed
  • Animations:
    • Select cell animation
    • Complete row animation
    • Complete col animation
    • Complete group animation
    • Complete value animation
    • Win animation
  • Win scenario:
    • Win score and time
  • Loose scenario:
    • Win score and time
  • Pause scenario:
    • Return to game after pause
    • No pause on other screens(win, loose, home)
    • Reset app after pause
  • Score calculation
  • Best game on home page

Overall

  • add sentry for error reporting
  • migrate to monorepo
  • add e2e tests(maestro or wdio?)
  • add turbo
  • fix metro require cycles (store related as usual) =)
  • add unit tests for game logic, add code coverage(codecov?)
  • add ts-prune
  • add jscpd
  • add commit-lint
  • add husky
  • fix ts error on app.json import
  • refactor folder structure to modules(game, app-root, history)
  • setup eas
  • setup iphone deployment
  • add github actions