uniapp开发app框架在提升开发效率中的独特优势与应用探索
835
2022-10-25
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~