GithubHelp home page GithubHelp logo

gittodoro-ts's Introduction

Gittodoro

Following the principles of Clean Architecture.

Constraints

  1. Sessions

    • Sessions last for up to 10 hours.
    • Users can start a new session if needed.
    • Minimum session duration is 5 minutes; shorter sessions will be disregarded.
    • Sessions can only be stopped if the last active time (Session.lastTimeActive) is less than 5 minutes.
  2. Pomodoro

    • Minimum duration: 25 minutes
    • Maximum duration: 120 minutes
  3. Short Breaks

    • Minimum duration: 1 minute
    • Maximum duration: 15 minutes
  4. Long Breaks

    • Minimum duration: 3 minutes
    • Maximum duration: 60 minutes
  5. Long Intervals

    • Minimum count: 2
    • Maximum count: 6

Interactors

Actor: External Users

    • Can read the default duration.
    • Can modify the default duration.
    • Can reset the default duration.
    • Can sign in to the app using their GitHub account.
    • Can start sessions.
    • Can stop sessions.
    • Can stop sessions across platforms based on the last active time.
    • Can view a session by start date.
    • Can view sessions by a range of dates (start date inclusive; end date exclusive), filtering both the start date and end date of the session.
    • Can copy sessions from local/offline storage to their account.
    • Can delete sessions from local/offline storage.
    • Can create new notes.
    • Can read notes by ID or by the date they were created/updated.
    • Can update notes.
    • Can delete notes.
    • Can select the repo/project/issue to associate with a new session.
    • Can view the total number of Pomodori for each repo/project/issue.
    • Store default duration constraints in the database.

Running Tests

npm test
npm run build && node ./lib/examples/external-users-app/index.js

MVC

  • The Model is the application object, the View is its screen representation, and the Controller defines how the user interface reacts to user input.
  • Views and Models are decoupled by establishing a subscribe/notify protocol between them.
  • The View ensures that its appearance reflects the state of the model.
  • The View uses an instance of a Controller subclass to implement specific response strategies.

Releasing Updates

npm version major|minor|patch

This version is more consistent and clearer, making it easier for users to understand the project's constraints, functionalities, and how to interact with the application.

gittodoro-ts's People

Contributors

emaric avatar

Watchers

 avatar

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.