document is a document store for small projects. It is designed to be simple and easy to use.
All documents are treated as a single entity. Document can add links to other documents. Document can add children documents. Children documents are treated as a single independent document. They can have their own links and children. Each document is published with a version number. Each update to the document will increase the version number. One document can have multiple parents. When a document is published, optionally it can publish all children documents as well. This will create a new version of the document and all children documents. Other parent documents will stay linked to the @current version of the document.
- Create document
- Update document
- Delete document
- Get document
- Get document by ids(full docs)
- List documents
- Save document tree index during document tree publish
- Get document index
- Document versioning
- Document history
- Document tags
- Document backup
- Document restore
- Document export
- Document backlinks
- Document links
- Document auto backup to S3
- Document auto load from S3
- Create a job to clean up old documents backups, (keep backups at 10min interval)
# install initial dependencies(it will fail but that's fine, still need to run it)
make deps
# build proto
make protoc
# install all dependencies
make deps