GithubHelp home page GithubHelp logo

felipejoglar / taskodoro-apps Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 1.22 MB

Taskodoro is the productivity app made with Kotlin Multiplatform

License: Apache License 2.0

Kotlin 99.64% Swift 0.36%
android ios kotlin-multiplatform pomodoro productivity

taskodoro-apps's Introduction

Multiplatform CI Android CI iOS CI

Taskodoro is the productivity app made with Kotlin Multiplatform

License

Copyright 2022-2024 Felipe Joglar

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

taskodoro-apps's People

Contributors

felipejoglar avatar

Stargazers

Maksym avatar  avatar Victor avatar

Watchers

 avatar

taskodoro-apps's Issues

Unify shared modules

Context

In the current status of KMP is not viable to work with a multimodule approach from the iOS side of things, it would imply to create an adapter layer in between shared and swift code to match all types correctly.

Solution

Unify all shared modules and apply the umbrella approach to simplify development.

Fix CI pipeline

Fix the CI pipelines for all platforms that are currently broken:

  • Multiplatformn
  • Android
  • iOS

Add navigation and onboarding logic

Add support for navigation and onboarding logic. Also, add conditional navigation if the user has already been onboarded.

TO-DO

Create new Task

Story: User requests to create a new task

Narrative

As an offline user
I want to be able to create new tasks
So I can always remember what I need to do next

Scenarios (Acceptance criteria)

Given the user doesn't have connectivity
 When the user requests to create a new task
  And the data provided is valid
 Then the app should save the task locally

Save Task Locally Use Case

Data:

  • Task

Primary course (happy path):

  1. Execute the "Save Task" command with the above data.
  2. System validates the data.
  3. System saves new data.
  4. System delivers success message.

Validating error course (sad path):

  • System delivers error.

Saving error course (sad path):

  • System delivers error.

Flowchart

flowchart

Display Tasks List

Display Tasks List Feature Specs

As a user, I want to be able to view all my tasks in a list view, so I can see at a glance what I have to do.

Narrative 1

As an offline user
I want the app to automatically load my tasks into a list
So I can see at a glance what I need to do

Scenarios (Acceptance criteria)

Given the user doesn't have connectivity
 When the user requests to see its tasks
 Then the app should display my tasks from local storage

Use Cases

Load Tasks Use Case

Primary course:

  1. Execute "Load Tasks" command.
  2. System retrieves task from the local storge.
  3. System creates a tasks list from cached data.
  4. System delivers tasks.

Retrieval error course (sad path):

  1. System delivers error.

Empty cache course (sad path):

  1. System delivers no tasks.

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.