ultimate_alarm_clock icon indicating copy to clipboard operation
ultimate_alarm_clock copied to clipboard

Feature: Maze Puzzle Challenge

Open Kaps61929 opened this issue 1 year ago • 15 comments

Description

Functionality Overview:

The Maze Puzzle Challenge integrates with the alarm app, requiring users to navigate through mazes of varying difficulty levels. Users start at the beginning of the maze, and upon successfully reaching the destination, the alarm deactivates, providing a gamified and interactive wake-up experience.

User Impact:

Engaging Wake-Up Routine: Introducing a maze puzzle adds an element of fun and challenge to the wake-up process, making mornings more interesting and motivating for users. Customizable Difficulty Levels: Catering to users with different preferences, the feature offers three levels—easy, medium, and hard—allowing individuals to tailor the challenge to their desired intensity. Enhanced Mental Engagement: Solving a maze stimulates cognitive activity, providing a positive and energizing start to the day, contributing to the overall well-being of the user.

I want to work on this issue, so please consider assigning it to me.

Screenshots

Something like this

Screenshot 3

Kaps61929 avatar Jan 25 '24 12:01 Kaps61929

This is also quite interesting! It'll have to be different each time (or most of the times) to make it actually useful.

I've assigned this to you.

MarkisDev avatar Feb 03 '24 09:02 MarkisDev

I'm thinking of showing user a simple math equation & let him dismiss alarm if he is correct. i could use an API here & a card would pop up on alarm asking a math question. Could you assign this to me? @MarkisDev I'll try to complete this in 1-2 weeks.

vedang999 avatar Jul 13 '24 14:07 vedang999

I'm thinking of showing user a simple math equation & let him dismiss alarm if he is correct. i could use an API here & a card would pop up on alarm asking a math question. Could you assign this to me? @MarkisDev I'll try to complete this in 1-2 weeks.

@vedang999 Hey! The maths challenge already exists in the app. You can try coming up with a new feature or complete the puzzle challenge in this issue

AryanSarafDev avatar Jul 14 '24 05:07 AryanSarafDev

Ok then I'll work on the maze functionality. Could you assign this to me? @MarkisDev @AryanSarafDev

vedang999 avatar Jul 14 '24 06:07 vedang999

@vedang999 I am assigning this to you. But before implementing the feature, you can first discuss your approach here. If there'll be any issue we will sort it out, so that you won't have to redo it👍

AryanSarafDev avatar Jul 14 '24 07:07 AryanSarafDev

@AryanSarafDev I'm planning to use this package. https://pub.dev/packages/maze There would be option in setting to enable/disable maze option. On trigger of alarm ,a card view would show up, on which maze will display & user solves it to turn-off the alarm.(direct dismiss) Should I proceed?

vedang999 avatar Jul 17 '24 09:07 vedang999

Yes you can proceed @vedang999

AryanSarafDev avatar Jul 17 '24 09:07 AryanSarafDev

@AryanSarafDev a quick update on my work.. I've added maze challenge..pic below. I'm working on controllers for it & overflow now. WhatsApp Image 2024-07-25 at 5 01 21 PM

vedang999 avatar Jul 25 '24 11:07 vedang999

Hi @AryanSarafDev

I am working on implementing the maze challenge state using shared preferences. My initial approach involves saving a variable in the format <userMazePref, alarmId> for each alarm and calling a destructor where needed. However, this seems like a brute force method.

An alternative approach could be to follow the implementation used for the math challenge, utilizing variables such as isMathEnabled and defining similar ones for the maze challenge.

Could you please provide insights on the changes made to the files during the math challenge implementation? This will help me ensure consistency and efficiency while adding the maze challenge feature.

vedang999 avatar Aug 03 '24 14:08 vedang999

@vedang999 Sure! Add 'isMazeChallengeEnabled' to the alarm model in the database. For handling the ui to enable it, make an observable variable using GetX in addorupdatealarmcontroller file and use it to update the value of the switch and while saving the alarm too. Ask if you need further explanation!

AryanSarafDev avatar Aug 03 '24 14:08 AryanSarafDev

@AryanSarafDev Sure Could you tell me particular commit in which Math challenge was added (using isMathEnabled variable in alarm model) So I could follow similar working.

vedang999 avatar Aug 03 '24 15:08 vedang999

image

@AryanSarafDev I have updated the code to include an isMazeEnabled variable in the model and verified its functionality in the ISAR database. However, I am encountering the following error logs. Is this related to the SQLite Firestore database? If so, is it possible to add another field to its schema?

vedang999 avatar Aug 04 '24 08:08 vedang999

@AryanSarafDev Sure Could you tell me particular commit in which Math challenge was added (using isMathEnabled variable in alarm model) So I could follow similar working.

@vedang999 For the SQLite error, in the isar database and firebase provider file theres a SQL command to create a table. Add your columns there too

AryanSarafDev avatar Aug 04 '24 08:08 AryanSarafDev

hey.. @AryanSarafDev i added mazeenabled variable to isar & alarm models The data is added to ISAR db but UI is stuck on loading when an alarm is added. Can you please tell which portion of code to be changed further? image image image

vedang999 avatar Aug 21 '24 16:08 vedang999

hey.. @AryanSarafDev i added mazeenabled variable to isar & alarm models The data is added to ISAR db but UI is stuck on loading when an alarm is added. Can you please tell which portion of code to be changed further? image image image

Hey @vedang999 ! Did you add the column to the sqlite table too and everywhere the model is used?

And pull the latest commit from the main branch. Lot of things have changed!

AryanSarafDev avatar Aug 21 '24 17:08 AryanSarafDev