Agitodo 一个跨平台待办事项列表/日历应用程序

网友投稿 793 2022-10-25

Agitodo 一个跨平台待办事项列表/日历应用程序

Agitodo 一个跨平台待办事项列表/日历应用程序

Synopsis

Agitodo is a cross-platform To-Do list / Calendar application. The core application is developed in JavaScript (jQuery Mobile) and can be build as a web (Node.js), mobile (Android-Webview), or desktop (Windows/macOS/Linux Qt-Webview) application. Protecting user's privacy is built-in to the application - data are stored encrypted in HTML5 localStorage and can be optionally saved (encrypted) in Dropbox/Google Drive/hubiC. Cloud storage services can also be used to synchronize user's data between on all platforms. Furthermore, the application integrates with Gmail for emailing tasks.

I started working on this project in 2013, and published the first stable version on the Android Store in 2014 as a commercial application (under a different name). The application was not successful and was unpublished after a short period of time. I decided to open source this project, since some parts might still be useful to other developers, like the Android & Qt Webviews and the Dropbox/Google Drive/hubiC/Gmail APIs integration.

Enjoy!

P. Asimakopoulos (https://ubuverse.com)

Screenshots

Building

The building instructions below are for Ubuntu. If you are on a different OS, you can still get an idea of what steps you need to follow.

Node.js

Dependencies:

# Node.js$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -$ sudo apt-get install -y nodejs# MySQL$ sudo apt-get install mysql-server

Create database:

$ mysql -u root -pCREATE DATABASE agitodo;USE agitodo;CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTO_INCREMENT,email VARCHAR(128) NOT NULL UNIQUE,password_hash VARCHAR(256) NOT NULL DEFAULT '',created VARCHAR(64),last_login VARCHAR(64),settings TEXT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET utf8 COLLATE utf8_bin;CREATE TABLE IF NOT EXISTS pending (id INTEGER PRIMARY KEY AUTO_INCREMENT,email VARCHAR(128) NOT NULL UNIQUE,password_hash VARCHAR(256) NOT NULL DEFAULT '',created VARCHAR(64),token VARCHAR(128) NOT NULL DEFAULT '') ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET utf8 COLLATE utf8_bin;CREATE USER 'agitodo'@'localhost' IDENTIFIED BY 'PASSWORD';GRANT ALL ON agitodo.* TO 'agitodo'@'localhost';FLUSH PRIVILEGES;

Build & Run:

$ ./build_node.py$ cd www$ npm install$ node bin/create_test_account.js$ node index.js# Check bin/create_test_account.js for login credentials

Android

The original version was developed in Eclipse, which I don't use anymore, so I imported the project in the latest Android Studio.

$ ./build_android.py# Then open android/src in Android Studio

Qt

Dependencies:

$ sudo apt-get install qtcreator qt5-default libqt5webkit5-dev

Build & Run:

$ ./build_qt.py# Then open qt/agitodo/agitodo.pro in Qt Creator

License

Copyright (C) 2013-2017 P. Asimakopoulos

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://gnu.org/licenses/.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:实现web实时消息推送的7种方案
下一篇:electron-vue —— 基于 vue 来构造 electron 应用程序的样板代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~