Skip to content

Commit

Permalink
Improvements: New architecture, new API, new features and fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
r57zone committed Nov 29, 2020
1 parent c95c8b8 commit 5c8dd12
Show file tree
Hide file tree
Showing 23 changed files with 1,205 additions and 288 deletions.
32 changes: 18 additions & 14 deletions API.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
## Easy Notes API
### In English
The data is sent in XML markup. The text of the note is converted into a sequence of characters - "x" + character number. For example, the word "Hello" is converted to "x72x101x108x108x111".
The Windows app is a notes server. The data is sent in XML markup. The text of the note is converted into a sequence of characters - "x" + character number. For example, the word "Hello" is converted to "x72x101x108x108x111".

| Request | Request type | Description | Example |
| Request | Request type | Description | Value / Status |
| ------------- | ------------- | ------------- | ------------- |
| `IP:PORT/api/getnotes` | GET | Getting a list with identifiers (Unix timestamp) and note times (Unix timestamp with UTC offset). | &lt;notes&gt;<br>&lt;note id="1553287432" datetime="1553301832"&gt;&lt;/note&gt;<br>&lt;note id="1553287428" datetime="1553301828"&gt;&lt;/note&gt;<br>&lt;/notes&gt; |
| `IP:PORT/api/getfullnotes` | GET | Get a list with ids, notes and note times. | &lt;notes&gt;<br>&lt;note id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;note id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;/notes&gt; |
| `IP:PORT/api/getnote=ID` | GET | Getting a note by id. | &lt;notes&gt;<br>&lt;note id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;/notes&gt; |
| `IP:PORT/api/syncnotes` | POST | Sending created and modified notes by the client. | &lt;actions&gt;<br>&lt;insert id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/insert&gt;<br>&lt;update id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/update&gt;<br>&lt;delete id="1553248570"&gt;&lt;/delete&gt;<br>&lt;/actions&gt; |
| `IP:PORT/api/connecttest` | GET | Getting the server availability status. | "ok" |
| `IP:PORT/api/auth?id=DEVICE` | GET | Request to add to the list of authorized devices. | "auth:ok" or "auth:denied" |
| `IP:PORT/api/notes?id=DEVICE` | GET | Getting a list with identifiers (Unix timestamp), notes and note times (Unix timestamp with UTC offset). | &lt;notes&gt;<br>&lt;note id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;note id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;/notes&gt; |
| `IP:PORT/api/actions?id=DEVICE` | GET | Receiving new changes from the server. | &lt;actions&gt;<br>&lt;insert id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/insert&gt;<br>&lt;update id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/update&gt;<br>&lt;delete id="1553248570"&gt;&lt;/delete&gt;<br>&lt;/actions&gt; |
| `IP:PORT/api/received?id=DEVICE` | GET | Confirmation of receiving new changes from the server. | "ok" or "auth:denied" |
| `IP:PORT/api/syncnotes?id=DEVICE` | POST | Sending new changes from the client. | &lt;actions&gt;<br>&lt;insert id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/insert&gt;<br>&lt;update id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/update&gt;<br>&lt;delete id="1553248570"&gt;&lt;/delete&gt;<br>&lt;/actions&gt; |

IP is the address running the application for Windows. The default port is 735.
`IP` is the address running the application for Windows. The default port is 735. `DEVICE` is the name of the device, for example `Android_g9N1z5S2` or `iOS_rM5s3Gz7`.

### На русском
Данные пересылаются в XML разметке. Текст заметки конвертируется в последовательность символов - "x" + номер символа. Например, слово "Привет" конвертируется в "x1055x1088x1080x1074x1077x1090".
Приложение для Windows является сервером заметок. Данные пересылаются в XML разметке. Текст заметки конвертируется в последовательность символов - "x" + номер символа. Например, слово "Привет" конвертируется в "x1055x1088x1080x1074x1077x1090".

| Запрос | Тип запроса | Описание | Пример |
| Запрос | Тип запроса | Описание | Значение / Статус |
| ------------- | ------------- | ------------- | ------------- |
| `IP:PORT/api/getnotes` | GET | Получение списка с идентификаторами (Unix timestamp) и времен заметки (Unix timestamp с UTC смещением). | &lt;notes&gt;<br>&lt;note id="1553287432" datetime="1553301832"&gt;&lt;/note&gt;<br>&lt;note id="1553287428" datetime="1553301828"&gt;&lt;/note&gt;<br>&lt;/notes&gt; |
| `IP:PORT/api/getfullnotes` | GET | Получение списка с идентификаторами, заметками и времен заметок. | &lt;notes&gt;<br>&lt;note id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;note id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;/notes&gt; |
| `IP:PORT/api/getnote=ID` | GET | Получение содержимого заметки по идентификатору. | &lt;notes&gt;<br>&lt;note id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;/notes&gt; |
| `IP:PORT/api/syncnotes` | POST | Отправка созданных и измененных клиентом заметок. | &lt;actions&gt;<br>&lt;insert id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/insert&gt;<br>&lt;update id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/update&gt;<br>&lt;delete id="1553248570"&gt;&lt;/delete&gt;<br>&lt;/actions&gt; |
| `IP:PORT/api/connecttest` | GET | Получение статуса доступности сервера. | "ok" |
| `IP:PORT/api/auth?id=DEVICE` | GET | Запрос на добавление в список авторизованных устройств. | "auth:ok" или "auth:denied" |
| `IP:PORT/api/notes?id=DEVICE` | GET | Получение списка с идентификаторами (Unix timestamp), заметками и временем заметок (Unix timestamp с UTC смещением). | &lt;notes&gt;<br>&lt;note id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;note id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/note&gt;<br>&lt;/notes&gt; |
| `IP:PORT/api/actions?id=DEVICE` | GET | Получение новых изменений от сервера. | &lt;actions&gt;<br>&lt;insert id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/insert&gt;<br>&lt;update id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/update&gt;<br>&lt;delete id="1553248570"&gt;&lt;/delete&gt;<br>&lt;/actions&gt; |
| `IP:PORT/api/received?id=DEVICE` | GET | Подтверждение получения новых изменений от сервера. | "ok" или "auth:denied" |
| `IP:PORT/api/syncnotes?id=DEVICE` | POST | Отправка новых изменений от клиента. | &lt;actions&gt;<br>&lt;insert id="1553285632" datetime="1553300032"&gt;x72x101x108x108x111&lt;/insert&gt;<br>&lt;update id="1553248570" datetime="1553262970"&gt;x72x101x108x108x111&lt;/update&gt;<br>&lt;delete id="1553248570"&gt;&lt;/delete&gt;<br>&lt;/actions&gt; |

IP это адрес, с запущенным приложением для Windows. Порт по умолчанию 735.
`IP` это адрес, с запущенным приложением для Windows. Порт по умолчанию 735. `DEVICE` это название устройства, например, `Android_g9N1z5S2` или `iOS_rM5s3Gz7`.
10 changes: 8 additions & 2 deletions README.RU.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[![EN](https://user-images.githubusercontent.com/9499881/33184537-7be87e86-d096-11e7-89bb-f3286f752bc6.png)](https://github.com/r57zone/EasyNotes/)
[![RU](https://user-images.githubusercontent.com/9499881/27683795-5b0fbac6-5cd8-11e7-929c-057833e01fb1.png)](https://github.com/r57zone/EasyNotes/blob/master/README.RU.md)
# EasyNotes
![](https://user-images.githubusercontent.com/9499881/100446367-1cd14000-30c8-11eb-8e82-335f134a8c95.png)

Приложения заметок для Windows, iOS и Android, с синхронизацией. Сервером выступает приложение для Windows, поэтому для синхронизации необходимо запускать его. Посмотреть API можно [здесь](https://github.com/r57zone/EasyNotes/blob/master/API.md).

## Особенности
Expand All @@ -11,6 +13,10 @@


Также присутствует полная поддержка планшетов.


В Android версии присутствует QR сканер кодов.

## Настройка
### Синхронизация мобильных приложений
1. Зарезервируйте постоянный IP адрес компьютеру, с Windows приложением. Это делается в настройках Wi-Fi роутера, в разделе "DHCP".
Expand All @@ -26,7 +32,7 @@

Для обновления нужно синхронизироваться, далее зайти в настройки "Safari" и удалить историю и данные, после чего можно заново добавлять приложение.
### Android
Установите "EasyNotes.apk" и введите зарезервированный постоянный IP вашего компьютера.
Установите "EasyNotes.apk" и введите зарезервированный постоянный IP вашего компьютера. Если ваш маршрутизатор присваивает следующие IP адреса: `192.168.0.0/15`, `192.168.0.100/115`, `192.168.1.0/15`, `192.168.1.100/115`, `192.168.2.0/15`, `192.168.3.0/15`, то можно просто включить автопоиск IP адреса и приложение само найдет ваш компьютер.

## Скриншоты
### Windows
Expand All @@ -45,7 +51,7 @@
[![](https://user-images.githubusercontent.com/9499881/93085759-1b869e80-f6a7-11ea-9868-07929effdac8.png)](https://user-images.githubusercontent.com/9499881/93085569-cea2c800-f6a6-11ea-96f9-2425c14b7aa7.png)

## Загрузка
>Версии для iOS 6+, Android 5+ и Windows 7, 8.1, 10 (с установленным Internet Explorer 11).
>Версии для iOS 9+, Android 5+ и Windows 7, 8.1, 10 (с установленным Internet Explorer 11).
**[Загрузить](https://github.com/r57zone/EasyNotes/releases)**
## Обратная связь
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[![EN](https://user-images.githubusercontent.com/9499881/33184537-7be87e86-d096-11e7-89bb-f3286f752bc6.png)](https://github.com/r57zone/EasyNotes/)
[![RU](https://user-images.githubusercontent.com/9499881/27683795-5b0fbac6-5cd8-11e7-929c-057833e01fb1.png)](https://github.com/r57zone/EasyNotes/blob/master/README.RU.md)
# EasyNotes
![](https://user-images.githubusercontent.com/9499881/100446367-1cd14000-30c8-11eb-8e82-335f134a8c95.png)

Apps notes for Windows, iOS and Android, with sync. The server is a Windows application so you need to run it for sync. View API can be [here](https://github.com/r57zone/EasyNotes/blob/master/API.md).

## Features
Expand All @@ -11,6 +13,10 @@ Apps have a dark theme and automatic switching to it in the dark time.


Full tablet support is also present.


The Android version has a QR code scanner.

## Setup
### Sync of the mobile apps
1. Reserve a permanent IP address for a computer with a Windows application. This is done in the settings of the Wi-Fi router in the "DHCP" section.
Expand All @@ -26,7 +32,7 @@ Next, go to Safari on your mobile device and enter there "http://IP:735/webapp",

To update, you need to synchronize, then go to the "Safari" settings and delete history and data, after which you can add the application again.
### Android
Install "EasyNotes.apk" and enter the reserved permanent IP of your computer.
Install "EasyNotes.apk" and enter the reserved permanent IP of your computer. If your router assigns the following IP addresses: `192.168.0.0/15`, `192.168.0.100/115`, `192.168.1.0/15`, `192.168.1.100/115`, `192.168.2.0/15`, `192.168.3.0/15`, then you can just enable auto-search for IP addresses and the app will find your computer itself.

## Screenshots
### Windows
Expand All @@ -45,7 +51,7 @@ Install "EasyNotes.apk" and enter the reserved permanent IP of your computer.
[![](https://user-images.githubusercontent.com/9499881/93085078-14ab5c00-f6a6-11ea-9657-239175a85f24.png)](https://user-images.githubusercontent.com/9499881/93084998-f7768d80-f6a5-11ea-8ed3-b75c1404bc77.png)

## Download
>Versions for iOS 6+, Android 5+ and Windows 7, 8.1, 10 (with Internet Explorer 11 installed).
>Versions for iOS 9+, Android 5+ and Windows 7, 8.1, 10 (with Internet Explorer 11 installed).
**[Download](https://github.com/r57zone/EasyNotes/releases)**
## Feedback
Expand Down
14 changes: 7 additions & 7 deletions Source/Android/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<widget xmlns = "http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0"
id = "com.r57zone.easynotes"
versionCode = "14"
version = "0.8.7" >
versionCode = "15"
version = "1.0.0" >

<!-- versionCode is optional and Android only -->
<name>EasyNotes</name>
Expand All @@ -12,14 +12,14 @@
<author href="https://r57zone.github.io" email="[email protected]">r57zone</author>
<icon src="icon.png" />

<allow-intent href="*" />
<allow-intent href="*" />
<allow-intent href="*" />
<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*"/>

<preference name="android-minSdkVersion" value="21" />
<preference name="android-targetSdkVersion" value="26" />

<plugin name="cordova-plugin-whitelist" source="npm" spec="*" />

<plugin name="cordova-plugin-whitelist" source="npm" spec="*"/>
<plugin name="cordova-plugin-qrscanner" spec="~2.4.0" />

</widget>
Binary file added Source/Android/images/close.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Source/Android/images/flashlight.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Source/Android/images/qr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Source/Android/images/share.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 5c8dd12

Please sign in to comment.