Code Monkey home page Code Monkey logo

roquiz's Introduction

Language:   [ ]              

Followers Total Stars Repo Forks Buy me a Coffee

Download Short Resume    Download Full Resume

👋 Ciao! I'm Michele 😃

  • 📍 Born in San Marino 🤍💙.
  • 📚 MSc Computer Engineering student at 🏫 Alma Mater Studiorum - University of Bologna.
  • 💡 Open source and 🎮 game development enthusiast.

🧰 Skills

Languages

c c++ c# java kotlin bash python go dart html5 css3 javascript mysql latex

Tools and Frameworks

unity flutter blender git gradle figma sdl opengl opencv tensorflow pandas seaborn scikit_learn docker kubernetes azure

Platforms

windows linux android raspberrypi arduino

🔗 Links

📈 Stats

Mikyll's GitHub Stats Mikyll's GitHub Stats Top Langs Top Langs Snake animation Snake animation

💻 Projects

TryKatChup and I recreated a Pokédex clone, which recognizes pictures of Pokémon from the first generation, using a Convolutional Neural Network. It's built on Raspberry Pi4 with LCD display, PiCamera, speaker and some other components attached. The case is made of recycled cardboard. 🌱

Poké-Pi-Dex
Watch the demo on YouTube!

Gionnino9000 Stats

Moddy Stats

WasteService Stats

roquiz's People

Contributors

federicoand98 avatar filippoveronesi avatar github-actions[bot] avatar lollofred avatar mikyll avatar redduality avatar trykatchup avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

roquiz's Issues

[Mobile] Eccezione "setState() or markNeedsBuild() called during build"

Quando provo a utilizzare QuestionWidget in ViewQuiz, ottengo questo errore:

Il problema sembra essere legato al fatto che la callback assegnata a onTap chiami setState(), aggiornando lo stato del widget padre ViewQuiz. Tuttavia, provando a sostituire la callback (che in realtà è una closure: (int index) => _setUserAnswer(index)), succede questo:

Che fa pensare il problema sia relativo al timer.

Soluzione provvisoria: costruire il widget interamente all'interno di ViewQuiz.

StackOverflow thread

[BUG] Delay cambio tema scuro/chiaro

Descrivi il bug
Quando si salvano le impostazioni dopo aver cambiato il tema, la schermata del menu viene aggiornata con un leggero ritardo.

Come riprodurre
Passaggi per riprodurre il bug:

  1. Vai nelle impostazioni;
  2. Cambia il tema, cliccando sullo switch;
  3. Salva le impostazioni;
  4. Nota come l'applicazione mostra un piccolo ritardo nell'aggiornare la schermata del menu.

Comportamento previsto
Una descrizione chiara e coincisa di cosa ci si aspetterebbe che succeda.

Screenshot

2023-09-03_22-54-02.mp4

Desktop:

  • SO: Windows
  • Versione: 1.7.0

Mobile:

  • SO: Android 12
  • Versione: 1.7.0

Informazioni aggiuntive
Il problema non si verifica nella versione web.

[BUG] Eccezione al ripristino delle impostazioni

Descrivi il bug
Quando si ripristinano le impostazioni, mentre c'è un'animazione in corso, l'app spara un'eccezione (non dà problemi in Release, solo in debug).

Come riprodurre
Passaggi per riprodurre il bug:

  1. Avviare l'app in debug mode;
  2. Vai nella pagina delle Impostazioni (ViewSettings);
  3. Partendo dalle impostazioni di default;
  4. Deseleziona gli alert di conferma;
  5. Imposta il tema scuro;
  6. Ripristina le impostazioni;
  7. Eccezione sparata dall'AnimationController

Comportamento previsto
Nessuna eccezione.

Screenshot

Desktop:

  • SO: Windows
  • Versione: 1.10.0

Informazioni aggiuntive
Debug output:

════════ Exception caught by animation library ═════════════════════════════════
The following assertion was thrown while notifying status listeners for AnimationController:
'package:flutter/src/widgets/overlay.dart': Failed assertion: line 1392 pos 14: '_zOrderIndex != null': is not true.

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.yml

When the exception was thrown, this was the stack:
#2      OverlayPortalController.hide (package:flutter/src/widgets/overlay.dart:1392:14)
overlay.dart:1392
#3      TooltipState._handleStatusChanged (package:flutter/src/material/tooltip.dart:442:28)
tooltip.dart:442
#4      AnimationLocalStatusListenersMixin.notifyStatusListeners (package:flutter/src/animation/listener_helpers.dart:240:19)
listener_helpers.dart:240
#5      AnimationController._checkStatusChanged (package:flutter/src/animation/animation_controller.dart:815:7)
animation_controller.dart:815
#6      AnimationController._tick (package:flutter/src/animation/animation_controller.dart:831:5)
animation_controller.dart:831
#7      Ticker._tick (package:flutter/src/scheduler/ticker.dart:249:12)
ticker.dart:249
#8      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15)
binding.dart:1325
#9      SchedulerBinding.handleBeginFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:1177:11)
binding.dart:1177
#10     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:633:13)
compact_hash.dart:633
#11     SchedulerBinding.handleBeginFrame (package:flutter/src/scheduler/binding.dart:1175:17)
binding.dart:1175
#12     SchedulerBinding._handleBeginFrame (package:flutter/src/scheduler/binding.dart:1092:5)
binding.dart:1092
#13     _invoke1 (dart:ui/hooks.dart:328:13)
hooks.dart:328
#14     PlatformDispatcher._beginFrame (dart:ui/platform_dispatcher.dart:351:5)
platform_dispatcher.dart:351
#15     _beginFrame (dart:ui/hooks.dart:272:31)
hooks.dart:272
(elided 2 frames from class _AssertionError)

The AnimationController notifying status listeners was: AnimationController#7eab8(⏮ 0.000; paused)
════════════════════════════════════════════════════════════════════════════════

[REFACTOR] Refactor Controllo Versione

  • aggiungere una classe Version in model:
    • major, minor, patch;
    • metodi vari (toString(), metodo per convertire in stringa o lista di interi, etc.);
  • aggiungere una classe VersionManager in persistence:
    • void initAppVersion(), per caricarla dall'apk;
    • Future<Version> checkUpdates() per controllare se sono presenti nuove versioni, e aggiungere eccezioni come errori;

[Desktop] NullPointerException in Informazioni

NullPointerException quando si prova a cliccare i link nella sezione Informazioni dell'app desktop, se si è arrivati al Menu dopo aver terminato un quiz. Non causa crash a runtime.

Molto semplice da sistemare

Pipeline CI/CD

Creare una pipeline CI/CD che:

  • automatizza i test al rilascio di una nuova feature (branch feature);
  • automatizza il deploy (artifact e nuove versioni);

[BUG] Alert di conferma anche quando le impostazioni non sono cambiate

Descrivi il bug
Quando si torna indietro dalla pagina delle impostazioni, viene mostrato l'alert di conferma anche se le impostazioni non sono cambiate.

Come riprodurre
Passaggi per riprodurre il bug:

  1. Vai nelle impostazioni
  2. Clicca il tasto indietro
  3. Vedi l'alert

Comportamento previsto
L'avviso dovrebbe essere mostrato solo se le impostazioni sono effettivamente cambiate.

Mobile:

  • Versione: [es: 1.7.0]

Informazioni aggiuntive
Il problema è l'impostazione del controllo degli aggiornamenti dell'app, che non viene salvata nelle Shared Preferences.

Test Vari

Aggiungere qualche test (unit, funzioni, integration):

  • testare le funzionalità di base del quiz (inizio, card, terminazione, etc.);
  • testare il funzionamento degli argomenti;
  • testare l'aggiornamento delle impostazioni:
    • aggiornamento delle domande;
  • testare la UI;

Quando viene inserito un file di domande formattato ma senza argomenti la schermata Domande non viene caricata correttamente [BUG]

Descrivi il bug
Quando viene inserito un file con nuove domande, anche se formattato correttamente non viene caricato perchè mancano gli argomenti.

Come riprodurre
Passaggi per riprodurre il bug

  1. Dalle impostazioni caricare un'altro file di domande.txt
  2. Avviare il quiz
  3. La schermata resterà bloccata su uno sfondo grigio

Comportamento previsto
Dovrebbe aprire il file e riprodurre le domande correttamente

Lag nella schermata del Menu

Quando si modificano gli argomenti o le impostazioni e si ritorna alla schermata del menu, questa viene mostrata dopo un leggero ritardo.

Bug inserimento file domande personalizzato

Se l'utente carica un file domande con meno domande di quello corrente, l'impostazione del numero di domande (e quella del timer) potrebbero avere un valore più alto del limite consentito.

Ad esempio:

  • il numero di domande per quiz è impostato a 107;
  • si carica un nuovo file con 104 domande;
  • si può avviare un quiz con più domande di quelle contenute nel pool;
  • index out of range.

Bug terminazione quiz

Descrivi il bug
Il bug impedisce di terminare il quiz, se si risponde a tutte le domande.

Come riprodurre
Passaggi per riprodurre il bug:

  1. Avvia un Quiz
  2. Seleziona una risposta per ciascuna domanda del pool
  3. Seleziona "Termina"
  4. Non succede nulla.

Comportamento previsto
Il pulsante termina dovrebbe terminare il quiz a prescindere che l'utente abbia risposto a tutte le domande oppure no.

Screenshot
Test con quiz con pool da 3 domande. Se si prova a terminare senza aver risposto ad almeno una domanda, viene richiesta (come previsto) la conferma. Se si risponde a tutte le domande, e si prova a terminare, non succede nulla:

bug terminazione quiz

Desktop:

  • SO: tutti quelli disponibili
  • Versione: 1.6.0

Mobile:

  • (opzionale) SO: Android 11
  • Versione: 1.6.0

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.