Code Monkey home page Code Monkey logo

mimido's Introduction

MimiDo

This project is a personal organizer, using CalDAV as a backend. The main objective is to organize myself in a better way.

My main issue with current task manager is that everything is an event or a task, which it annoying to organize around, so the approach used is to provide more tools, the ones provided now are:

  • Block: A block of time dedicated to something. For example, work, dinner, family time, etc. This will allow for quickly viewing what you are doing in that time. For now is not blocking, but it can change in the future for free/busy queries.
  • Event: A typical event, usually time blocking and fixed in time. A future version will include "transport time" and "preparation time". Example: I need to go to the doctor at 13 pm, it takes me 15 min to go, and I need 30 min to take a bath or look for previous studies to share.
  • Task: Something that needs to be done, can have time or not. Example: Fix Bug 15, Go grocery shopping
  • Reminder: An small thing that you not forget, should not take more that 15 min. Some of this Reminder may be "Create X Task". Example: Take the chicken out of the freezer, make doctors appoiment

Backend

We are using CalDAV as a backend. CalDAV is a common standard for Calendar used by most platforms, Google, Apple, Fastmail, etc.

Using this we can leverage calendar notification from cellphones, no scaling needed, and the user owns the data.

To access it there are different mechanisms, but for now we support only Basic Auth.

Authentication

Since we don't have any backend, right now the credentials are store in a secure cookie in a jwt format, so only use this on trusted devices. This will eventually help with creating a PWA.

A minor upgrade would be encrypting the cookie.

Note on Fastmail

Fastmail support both VEVENT and VTODO but because of a weird functionality on iOS they split it into two collections.

To make a single calendar support both you need to run the following command:

curl --location --request PROPPATCH '<url of your calendar>' --header 'Content-Type: application/xml' --header 'Authorization: Basic <your auth>' --data '<?xml version="1.0" encoding="utf-8" ?>
<propertyupdate xmlns="DAV:">
	<set>
		<prop>
			<C:supported-calendar-component-set
				xmlns:C="urn:ietf:params:xml:ns:caldav" force="yes">
				<C:comp name="VEVENT"/>
				<C:comp name="VTODO"/>
			</C:supported-calendar-component-set>
		</prop>
	</set>
</propertyupdate>'

Eventually we will an option to enable this in the app

See this conversation for more info vdirsyncer issue

mimido's People

Watchers

Nicky Donna avatar

mimido's Issues

Journal

  • estado de animo general
  • que hice en el dia

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.