Skip to content

zizdlp/zbook

Repository files navigation

ZBook

Documentation - Helm Chart - Discord - Youtube

BUILD_MAIN TEST_BACKEND TEST_FRONTEND CircleCI

中文版


Welcome to ZBook, a fully open-source full-stack knowledge base management software for teams.

This repository contains the open-source code used to render and serve ZBook

group_demo

Table of Contents

Getting Started

To run a local version of this project, please follow these simple steps.

Prerequisites

  • docker & docker-compose

Set up

  1. Clone the repo into a public GitHub repository. If you plan to distribute the code, keep the source code public to comply with GNU GPLv3.

    git clone https://github.com/zizdlp/zbook.git
  2. Build & run your local development server

    make compose_pull
  3. Then open the space in your web browser, using http://localhost:3000/

  4. 🍻 To use email services and third-party account login, please apply first. For details, please refer to ZBook Documentation.

CI and testing

All pull-requests will be tested against both visual and performances testing to prevent regressions. ZBook is fully open-source and built on top of Next.js.

Types of contributions

We encourage you to contribute to ZBook to help us build the best tool for documenting technical knowledge. If you're looking for some quick ways to contribute, continue reading to learn more about popular contributions.

Translations

The ZBook UI is rendered using a set of translation files found in zbook_frontend/messages. We welcome all additional translations for the UI.

If you are submitting new language support, please first refer to the documentation Language Support and follow the necessary procedures. You can refer to these commits: ec05f3a1d75d3f88619489a44f77104a37295ba3, 92e4b2933a9e23d08c15042b9b9085f4fea556f7

Bugs

Encounter a bug or find an issue you'd like to fix? Helping us fix issues related to ZBook greatly improves the experience for everyone. Head to the issues section of this repository to learn more about the types of bugs you can already help out with.

Features

Support:

  • full-stack: a full-stack software utilizing Next.js and Tailwind CSS for the frontend, Golang gRPC for backend services, PostgreSQL for database management, and MinIO for storage, and WebSocket for real-time messaging notifications.
  • multi-level permission management: Support for various repository visibility options including public, login-only, selected users, and creator-only access.
  • Comments
  • Notifications
  • open source

Not Support:

ZBook does not support online editing. We believe that tools like Git in local environments such as VS Code and Typora are sufficient for editing and collaborating on content. Online editing is not essential in our view. Additionally, enabling online editing would require granting write permissions to Git repositories, which could pose security risks.

TODO

ZBook plans to support the following features:

  • Branch switching, allowing users to preview specific branches before merging into the main branch.
  • MkDocs-style collapsible admonitions.
  • MkDocs-style theme extensions.
  • GitHub-style admonitions.

Deployment

For privacy and other reasons (for private repositories, you may need to input an access token; although GitHub supports fine-grained access tokens that can grant specific permissions to specific repositories, such as read-only), we encourage you to deploy ZBook yourself. You can use docker-compose or a k8s cluster for deployment. For details, please refer to the ZBook Documentation.

License

Distributed under the GNU GPLv3 License.

If you plan to distribute the code, you must the source code public to comply with GNU GPLv3. See LICENSE for more information.

Acknowledgements

ZBook wouldn't be possible without these projects:

Contributors