Skip to content

a reworking of the original daily app. This app will feature, authentication from google, firebase, and github, firebase db and image storage, keyboard avoiding view, animated bottom tabs, react-navigation, animated lists, and splash screen to create my own full stack project from the "code with beto" lessons in recent repos.

Notifications You must be signed in to change notification settings

seantolbert/daily2

Repository files navigation

For each user there are many Tasks, journal entries and days. Days are snapshots of which tasks were completed by midnight of that day and also have the id of tthat particular day's journal entry, since each day only gets one journal entry.

Notes

What if we had as many tasks as we want but to prevent us from going overboard we only had 6 tasks that would be "active" at the same time. These would get emojis that danced around like the pokemon when selected. That would implyb aleveliung system for each task. since we are after consistency, each level would be a consecutive day you compoleted the task. each day where you do not complete this task, you will lose 2 levels and your sctreak for that task. every level will have unique styling for the border and background.

every 5 levels would get an evolution animation

every time you skip a day that is set for daily, you lose 10% health iout of 100

User Stories + Paths

  1. As a user, I want to create a new daily task:

    • When I open the app, I should be able to add a new task for the day.
    • I want to specify the task title, description, and due time.

    User navigates to the "Add Task" screen.

    User enters the task title, description, and sets the due time.

    User saves the task. The new task is added to the daily schedule.

  2. As a user, I want to view my daily schedule:

    • Upon opening the app, I should see a list of tasks for the current day.
    • The tasks should be displayed in chronological order.

    User opens the app.

    The app displays the current day's schedule by default.

    User sees a list of tasks for the day in chronological order.

  3. As a user, I want to mark tasks as complete:

    • I want to be able to mark a task as completed once I've finished it.
    • Completed tasks should be visually distinguished from pending tasks.

    User opens the app.

    User views the list of tasks for the day.

    User selects a task and marks it as complete.

    The task is visually marked as completed.

  4. As a user, I want to set reminders for tasks:

    • I should be able to set reminders for specific tasks to receive notifications.
    • Reminders can be set for a specific time before the task is due.

    User opens the app.

    User goes to the task details or creation screen.

    User sets a reminder for a specific task.

    The app sends a notification at the set time.

  5. As a user, I want to edit or delete a task:

    • I want the ability to modify the details of a task or remove it from my schedule entirely.

    User opens the app.

    User goes to the daily schedule or task details screen.

    User selects a task to edit or delete.

    User makes changes or deletes the task accordingly.

  6. As a user, I want to view tasks for other days:

    • I should be able to navigate to different days to view and manage tasks for those days.

    User opens the app.

    User navigates to a different day using a calendar or date picker.

    The app displays the tasks for the selected day.

  7. As a user, I want to organize tasks into categories:

    • I want the option to categorize tasks (e.g., work, personal, fitness) for better organization.

    User opens the app.

    User creates or edits a task.

    User assigns a category to the task (e.g., work, personal, fitness).

  8. As a user, I want to see a summary of completed tasks:

    • There should be a section where I can review the tasks I've completed over time.

    User opens the app.

    User navigates to a "Completed Tasks" section.

    The app displays a list or summary of completed tasks over time.

  9. As a user, I want to sync my tasks across devices:

    • I should be able to log in and access my daily planner from multiple devices.

    User opens the app and logs in.

    The app synchronizes tasks with the user's account.

    User can access the same tasks on multiple devices.

  10. As a user, I want to customize the app's appearance:

    • I should have the option to personalize the app's theme or choose from predefined themes.

    User opens the app.

    User navigates to the "Settings" or "Preferences" section.

    User selects options to customize the app's theme.

Screens

  1. Home Screen:

    • Overview of the current day's tasks.
    • Navigation to other sections/screens.
  2. Add Task Screen:

    -Form for creating a new task (title, description, due time). -Save button to add the task to the schedule.

  3. Task Details Screen:

    • Display details of a selected task.
    • Option to edit or delete the task.
  4. Settings/Preferences Screen:

    • Options for customizing the app's appearance.
  5. Calendar/Date Picker Screen:

    • Allows the user to navigate to tasks on different days.
  6. Completed Tasks Screen:

    • Display a list or summary of completed tasks.
  7. Login/Authentication Screen:

    • If syncing tasks across devices is a feature, a login screen would be necessary.

Recomended Bottom Tab Navigators

  1. Home Tab:

    • Navigates to the Home Screen, displaying the current day's tasks and schedule.

  1. Add Task Tab:

    • Navigates to the Add Task Screen, allowing users to create new tasks.
  2. Calendar Tab:

    • Navigates to the Calendar/Date Picker Screen, enabling users to view tasks on different days.
  3. Profile Tab:

    • Navigates to the Completed Tasks Screen, showing a list or summary of completed tasks.

  1. Settings Tab:
    • Navigates to the Settings/Preferences Screen, where users can customize the app's appearance.

Incentive systems

Sample Reward Systems for Task Completion

  1. Streaks and Achievements:

    • Reward: Users receive badges, stars, or other visual indicators for completing tasks for consecutive days (streaks).
    • Motivation: Encourages users to build a streak and achieve longer-term consistency.
  2. Points and Levels:

    • Reward: Users earn points for completing tasks, and they can level up as they accumulate more points.
    • Motivation: Provides a gamified experience, making task completion more enjoyable and competitive.
  3. Customizable Avatars or Themes:

    • Reward: Users unlock new avatars, themes, or customization options for their app interface as they complete tasks.
    • Motivation: Appeals to the user's desire for personalization and aesthetics, making the app experience more enjoyable.
  4. In-App Currency for Rewards:

    • Reward: Users earn in-app currency for completing tasks, which they can use to unlock premium features or purchase virtual items.
    • Motivation: Adds a monetary-like incentive and enhances the value of completing tasks.
  5. Random Rewards or Surprises:

    • Reward: Users occasionally receive random rewards or surprises (e.g., inspirational quotes, jokes, or virtual gifts) upon completing tasks.
    • Motivation: Adds an element of unpredictability, making the experience more exciting and engaging.
  6. Discounts or Coupons:

    • Reward: Users earn exclusive discounts or coupons for products or services when they consistently complete tasks.
    • Motivation: Offers tangible, real-world benefits for using the app regularly.
  7. Social Recognition:

    • Reward: Users receive recognition within a community or on social media for achieving specific milestones or completing challenging tasks.
    • Motivation: Taps into the social aspect, fostering a sense of accomplishment and community.
  8. Challenges with Prizes:

    • Reward: Users participate in challenges or competitions, and winners receive prizes or special rewards.
    • Motivation: Adds a competitive element and promotes engagement through time-limited events.

When designing a reward system, it's important to strike a balance between providing meaningful incentives and avoiding an excessive or overly complex system. The rewards should align with the app's purpose and the users' preferences. Regularly updating and adding new rewards can also keep the system fresh and exciting for users.

Potential Rewards

Additional Examples of Rewards

  1. Exclusive Access:

    • Reward: Users gain access to exclusive features, content, or beta versions of the app.
    • Motivation: Provides a sense of exclusivity and privilege for regular users.
  2. Personalized Insights:

    • Reward: Users receive personalized insights or analytics based on their completed tasks and productivity.
    • Motivation: Fosters self-awareness and encourages users to reflect on their productivity patterns.
  3. Time Off or Breaks:

    • Reward: Users can earn short breaks or relaxation sessions within the app after completing a set number of tasks.
    • Motivation: Promotes a healthy work-life balance and encourages periodic breaks.
  4. Educational Content:

    • Reward: Users unlock access to educational content, articles, or tips related to productivity and personal development.
    • Motivation: Enhances the user's knowledge and skills while using the app.
  5. Virtual Pet or Plant:

    • Reward: Users can adopt a virtual pet or plant that thrives or evolves based on their task completion.
    • Motivation: Appeals to users who enjoy nurturing and caring for virtual companions.
  6. Custom App Themes:

    • Reward: Users unlock additional custom themes or color schemes for the app's interface.
    • Motivation: Adds a visual incentive for users who enjoy personalizing their app experience.
  7. Community Challenges:

    • Reward: Users participate in community-wide challenges, and successful participants receive recognition or special rewards.
    • Motivation: Fosters a sense of community and collaboration among app users.
  8. Group Rewards:

    • Reward: Users contribute to a group goal, and when achieved, everyone in the group receives a reward.
    • Motivation: Encourages teamwork and social engagement within the app.
  9. Integration with External Apps:

    • Reward: Users unlock integration with other productivity apps or services as a reward for consistent task completion.
    • Motivation: Enhances the app's functionality and provides users with a more comprehensive productivity ecosystem.
  10. Early Feature Access:

    • Reward: Users gain early access to upcoming features or beta releases of the app.
    • Motivation: Rewards early adopters and enthusiasts who actively use the app.

Remember, the effectiveness of rewards depends on the preferences and motivations of your target audience. Consider conducting user surveys or feedback sessions to understand what types of rewards would be most appealing to your users.

Gradient Background Reward System

For a reward system where users earn different color gradient backgrounds based on their consecutive task completion, you can structure it as follows:

Rewards:

  1. Novice Gradient:

    • Criteria: Complete tasks for 3 consecutive days.
    • Reward: Unlock the Novice Gradient background option.
  2. Intermediate Gradient:

    • Criteria: Complete tasks for 7 consecutive days.
    • Reward: Unlock the Intermediate Gradient background option.
  3. Expert Gradient:

    • Criteria: Complete tasks for 14 consecutive days.
    • Reward: Unlock the Expert Gradient background option.
  4. Master Gradient:

    • Criteria: Complete tasks for 30 consecutive days.
    • Reward: Unlock the Master Gradient background option.

Implementation:

  • Home Screen:

    • Display the current gradient background based on the user's reward level.
    • Indicate the user's current consecutive completion streak.
  • Settings Screen:

    • Provide a section where users can preview and select different gradient backgrounds they have unlocked.
  • Task Completion Mechanism:

    • Clearly communicate to the user when they've achieved a consecutive completion milestone.
    • Provide reminders to encourage users to maintain their streak.

Motivation:

  • Visual Progression:

    • Users experience a visual progression in the app's aesthetics, motivating them to maintain their streak.
  • Personalization:

    • Users gain a sense of control and personalization by choosing backgrounds based on their achievements.
  • Competitive Edge:

    • Users may strive to unlock higher-level gradients, adding a competitive and goal-oriented element.

Tips:

  • Variety in Gradients:

    • Ensure a diverse range of visually appealing gradients to keep the reward system interesting.
  • Clear Communication:

    • Clearly communicate the criteria for earning each gradient to maintain transparency.
  • Celebratory Animations:

    • Implement celebratory animations or messages upon reaching consecutive completion milestones.

This reward system integrates a visual element, allowing users to customize their app experience based on their task completion achievements. It adds a layer of personalization and accomplishment, encouraging users to build and maintain a consistent daily routine.

Task details page example

Profile page for active skills section

Skill Lineup Page

All Task lineup page

ice box features

  1. redux

  2. react native modules to push tasks to icalendar and vice versa to prevent calendar conflicts https://reactnative.dev/docs/native-modules-ios#create-a-calendar-native-module

  3. on a daily basis, the app will send a push notification to the device for daily summary of completed tasks

  4. web app and ipad compatibility

  5. tha ability to form groups (like splitwise) and compete with tasks and challenges

  6. you could treat the tasks like the old retro pokemon ui when you were looking at your own pokemon lineup. This would make sure you could only have a stack of 6 daily tasks.

  7. possibly a daily quote section o the dashboard

About

a reworking of the original daily app. This app will feature, authentication from google, firebase, and github, firebase db and image storage, keyboard avoiding view, animated bottom tabs, react-navigation, animated lists, and splash screen to create my own full stack project from the "code with beto" lessons in recent repos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published