Git Product home page Git Product logo

todoistx's Introduction

TodoistX v2-alpha

"TodoistX" is planned as lite version of Todoist app for Windows 10 Mobile Lumia fans. =)

Screenshots

Task List - Win10Mobile Task List - Android

Tech details

  • Platforms: UWP, Android (Xamarin Forms used)
  • Targets: ARM, x64
  • OSes: Windows 10/11, Windows 10 Mobile (os build: 10240 or above); Android
  • Dev. Status: Prototype / Alpha version
  • Sync API updated to v9
  • "Astoria" compatibility added (os build 10240)

Get started

About dev/test credentials

Register your dev account here https://developer.todoist.com/, create TodoistX app and get test token.

Find App.xaml.cs and paste this test token here (instead of xxxxxxx):

 var d = new AppSetting()
{
    AppName = "TodoistX",
    Author = " Media Explorer",
    AuthKey = "xxxxxxx"
};

About Todoist.net Library

  • Use the modern Todoist.Net library to extend functionality of my proto.
  • The library is available as a Nuget package.

Creating Todoist client

With token (preferred way).

ITodoistClient client = new TodoistClient("API token");

With email and password.

ITodoistTokenlessClient tokenlessClient = new TodoistTokenlessClient();
ITodoistClient client = await tokenlessClient.LoginAsync("email", "password");

Quick add

Implementation of the Quick Add Task available in the official clients.

var quickAddItem = new QuickAddItem("Task title @Label1 #Project1 +ExampleUser");
var task = await client.Items.QuickAddAsync(quickAddItem);

Simple API calls

// Get all resources (labels, projects, tasks, notes etc.).
var resources = await client.GetResourcesAsync();

// Get only projects and labels.
var projectsAndLabels = await client.GetResourcesAsync(ResourceType.Projects, ResourceType.Labels);

// Get only projects.
var projectsOnly = await client.GetResourcesAsync(ResourceType.Projects);

// Alternatively you can use this API to get projects.
var projects = await client.Projects.GetAsync();

// Add a task with a note.
var taskId = await client.Items.AddAsync(new Item("New task"));
await client.Notes.AddToItemAsync(new Note("Task description"), taskId);

Transactions (Batching)

Batching: reading and writing of multiple resources can be done in a single HTTP request.

Add a new project, task and note in one request.

// Create a new transaction.
var transaction = client.CreateTransaction();

// These requests are queued and will be executed later.
var projectId = await transaction.Project.AddAsync(new Project("New project"));
var taskId = await transaction.Items.AddAsync(new Item("New task", projectId));
await transaction.Notes.AddToItemAsync(new Note("Task description"), taskId);

// Execute all the requests in the transaction in a single HTTP request.
await transaction.CommitAsync();

Referencies

..

AS IS. No support. RnD only.

-- [m][e] 2022

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.