Hello to all! We have completed work on the first version of
AB-DOC and invite everyone to the beta test. The application allows you to create documents online in a convenient editor and organize their storage in a tree.
Details under the cut.
How did the idea
The need for such an application, in my opinion, is in the air. After all, we are buried in a huge amount of information. We are looking for it on the Internet, we learn something new in the process of communication, our own thoughts are constantly born in our minds. How many times have you caught yourself thinking that it would be nice to write “this” somewhere? So you can easily find it later.
So about a year ago we had the idea to create an AB-DOC. A simple application consisting of two main components: the editor and the tree.
')

Editor
Here we have not thought for a long time. The fact is that we have gone a long way before selecting a good WYSIWYG editor in our other application (task tracker
AB-TASKS ) and have long ago opted for the Quill editor.
The key advantage of this editor is that it does not use contenteditable, as a way to edit a document. It implements its own model of the presentation of the document, and it is only used as attenteditable as the input field. What does this give? The same document display in all browsers, predictable editing without glitches (well, almost without glitches).
The editor panel appears when text is selected and allows you to apply the necessary formatting to the selected fragment, create numbered and bulleted lists, select blocks of code, quotes.

Most of the time was spent on programming the function of inserting images into the document contents. We set the task to implement this action in the most simple and intuitive way. It turned out to implement the insertion of images into the document, both from the clipboard and by drag and drop.
Tree
For systematization of documents in AB-DOC tree is provided. It allows you to change the order of documents, combine them into folders. It's pretty simple.

To implement the tree, we use the jQuery zTree plugin. We can’t write anything special about it, just a good plugin for implementing tree structures.
Serverless architecture
A feature of AB-DOC is that it does not have any web servers or even a database. The application runs in the Amazon AWS cloud based on Amazon S3 storage. S3 stores everything: user data and the code of the application itself. In addition to S3, we use CloudFront for quick content delivery.
For any user actions, be it editing a document, inserting images, or attaching files to a document, the data is loaded into S3 directly from the browser. That is, AB-DOC can be conditionally considered a user interface for working with S3.
All changes made by the user are saved automatically. No need to press any buttons. Losing changes by suddenly closing the window will not allow the warning through the OnBeforeUnload () function.
Concept and development plan
Attention! At the moment, all documents in the AB-DOC publicly available, so do not write anything secret!The information that users write can be “naked” and found by other people. We are planning for AB-DOC itself to soon be endowed with full-text search capabilities, establishing links between documents and, possibly, joint editing.
There is an idea that other users could suggest editing documents, and similar documents could be merged. This will allow not only to accumulate your own information, but also to refine and enrich it with information from other users. So, in general, it often happens at Habré itself. Comments to articles contain no less useful than the articles themselves, and in general it turns out to be an exhaustive source of information on the topic. There is something in common with Wikipedia, only AB-DOC will have more practical information.
At the moment, the service is free and there is no advertising. But this will not always be the case. Rather, the current functionality will always be free, but we plan to earn on the introduction of additional functions, and first of all on the ability to make private folders and documents. We are currently working on this opportunity.
That is, the general idea is that you can use it for free, but then all your documents are publicly available. And private documents can only be created on a paid account.
So far we have introduced the only restriction - in terms of data volume. Installed 1GB.