franjurinec / documint

Simple Documentation Editor
MIT License
0 stars 0 forks source link

Explore options for remote collaboration #11

Closed franjurinec closed 3 years ago

franjurinec commented 3 years ago

The planned functionality includes the ability for users to collaborate on a documentation project remotely. This means that the planned solution must be able to handle cases such as:

It would be ideal that this functionality is completely optional and that the application is also able to function in an offline environment for a single user.

As such it is necessary to explore technical options for implementing this functionality.

franjurinec commented 3 years ago

Option 1 - Custom Remote Server

Create a custom backend server whose instance will represent a single documentation project. The server would act as a replacement for a local documentation folder, providing files as necessary. Concurrent editing would be functional on the scale of the whole project, but handling concurrent editing of a single document would need to be further explored.

Option 2 - Remote Database

Rely on an instance of a popular database to serve instead of a custom server. Most databases already have built-in authentication features, and documentation editing would be handled via database transactions.

Option 3 - Git

Rely on a remote Git repository as the shared documentation server. Concurrent editing would be handled through Git logic and merging concurrent changes would be possible to a certain degree. Also has built-in authentication.

franjurinec commented 3 years ago

Final option - Option 1 - Custom Remote Server

Final decision is based on two main factors:

  1. Customizability - a custom server can be tailored to the precise needs of the project
  2. Ease of use for end user - a simple node.js server can be packaged as a Docker container for easy setup