There can be more than Notion and Miro. AFFiNE is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.
Go to file
2022-08-03 18:56:43 +08:00
.github chore: remove temporarily issue template 2022-08-03 01:05:18 +08:00
.husky init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
.vscode init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
apps feat: venus style adjust 2022-08-03 17:52:14 +08:00
docs refactor(src): change affine to AFFiNE in string 2022-08-01 14:27:26 +08:00
libs feat: insert page into workspace block 2022-08-03 18:48:48 +08:00
tools init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
.all-contributorsrc feat(all-contributorsrc): update project name 2022-08-03 18:37:39 +08:00
.cz-config.js init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
.editorconfig init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
.env init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
.env.local-dev feat: router & block preview 2022-07-24 21:56:03 +08:00
.eslintignore init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
.eslintrc.json feat(comming-soon): add comming-soon 2022-07-22 21:38:57 +08:00
.gitignore init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
.npmrc init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
.prettierignore style(formatting): update .prettierignore 2022-08-01 10:59:38 +08:00
.prettierrc init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
babel.config.json init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
Caddyfile init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
Caddyfile-venus feat: venus for affine 2022-08-03 00:52:08 +08:00
Dockerfile init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
Dockerfile-keck fix: rebase glitch 2022-08-01 02:15:25 +08:00
Dockerfile-venus feat: venus for affine 2022-08-03 00:52:08 +08:00
jest.config.js init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
jest.preset.js init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
LICENSE init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
nx.json init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
package.json feat: venus for affine 2022-08-03 00:52:08 +08:00
pnpm-lock.yaml feat: venus for affine 2022-08-03 00:52:08 +08:00
pnpm-workspace.yaml init: the first public commit for AFFiNE 2022-07-22 15:49:21 +08:00
README.md merge master 2022-08-03 17:47:38 +08:00
tsconfig.base.json feat: enable resolveJsonModule 2022-08-03 00:31:03 +08:00
workspace.json feat: venus for affine 2022-08-03 00:52:08 +08:00

AFFiNE.PRO
The Next-Gen Knowledge Base to Replace Notion & Miro.

Planning, Sorting and Creating all Together. Open-source, Privacy-First, and Free to use.

All Contributors Node React React Rust

WebsiteDiscordTwitterMediumTelegram

affine_screen

Stay Up-to-Date

952cd7a5-70fe-48ab-b74f-23981d94d2c5

Table of contents

Shape your page

546163d6-4c39-4128-ae7f-55d59bc3b76b

Plan your task

41a7b3a4-32f2-4d18-ac6b-57d1e1fda753

Sort your knowledge

c9e1ff46-cec2-411b-b89d-6727a5e6f6c3

Create your story

We want your data always to be yours, and we don't want to make any sacrifice to your accessibility. Your data is always local-stored first, yet we support real-time collaboration on a peer-to-peer basis. We don't think "privacy-first" is a good excuse for not supporting modern web features. Collaboration isn't only necessary for teams -- you may take and insert pics on your phone, then edit them on your desktop, and share them with your collaborators. Affine is fully built with web technologies so that consistency and accessibility are always guaranteed on Mac, Windows and Linux. The local file system support will be available when version 0.0.1beta is released.

Documentation

Please view the documentation

Getting Started with development

Please view the path Contribute-to-AFFiNE/Software-Contributions/Quick-Start in documentation.

Roadmap

Coming Soon...

Releases

Get our latest release notes from here.

Feature requests

Please go to Feature request.

FAQ

Get quick help on Telegram and Discord along with other developers and contributors.

Latest news and technology sharing on Twitter, Medium and AFFiNE Blog.

The Philosophy of AFFiNE

Timothy Berners-Lee once taught us about the idea of the semantic web, where all the data can be interpreted in any form while the "truth" is kept. This gives our best image of an ideal knowledge base by far, that sorting of information, planning of project and goals as well as creating of knowledge can be all together. We have witnessed waves of paradigm shift so many times. At first, everything was noted on office-like apps or DSL like LaTeX, then we found todo-list apps and WYSIWYG markdown editors better for writing and planning. Finally, here comes Notion and Miro, who take advantage of the idea of blocks to further liberate our creativity. It is all perfect... If there are not so many waste operations and redundant information. And, we insist that privacy first should always be given by default. That's why we are making AFFiNE. Some of the most important features are:

  • Transformable
    • Every block can be transformed equally as a database
      • e.g. you can now set up a to-do with MarkDown in text view and edit it in kanban view.
    • Every doc can be turned into a whiteboard
      • An always good-to-read, structured docs-form page is the best for your notes, but a boundless doodle surface is better for collaboration and creativity.
  • Atomic
    • The basic element of affine are blocks, not pages.
      • Blocks can be directly reuse and synced between pages.
    • Pages and blocks are searched and organized on the basis of connected graphs, not tree-like paths.
    • Dual-link and semantic search are fully supported.
  • Collaborative and privacy-first
    • Data is always stored locally by default
    • CRDTs are applied so that peer-to-peer collaboration is possible.

We really appreciate the idea of Monday, airtable and notion database. They inspired what we think is right for task management. But we don't like the repeated works -- we don't want to set a todo easily with markdown but end up re-write it again in kanban or other databases. With AFFiNE, every block group has infinite views, for you to keep your single source of truth.

We would like to give special thanks to the innovators and pioneers who greatly inspired us:

  • Quip & Notion -- that docs can be organized as blocks
  • Taskade & Monday -- brillant multi-demensional tables
  • Height & Linear -- beautiful task management tool

We would also like to give thanks to open-source projects that make affine possible:

  • Yjs & Yrs
  • React
  • Rust

Community

For help, discussion about best practices, or any other conversation that would benefit from being searchable:

Discuss AFFiNE on GitHub

Contributors


DarkSky

💻 📖

Chi Zhang

💻 📖

wang xinglong

💻 📖

DiamondThree

💻 📖

Whitewater

💻 📖

xiaodong zuo

💻 📖

MingLIang Wang

💻 📖

Qi

💻 📖

mitsuhatu

💻 📖

Austaras

💻 📖

Jin Yao

💻 📖

Acknowledgments

Thanks a lot to the community for providing such powerful and simple libraries as slatejs, tldraw, yjs, etc., so that we can focus more on the implementation of the business logic, and we hope that in the future our projects will provide a more easy-to-use knowledge base for everyone.

License

AFFiNE is distributed under the terms of MIT license.

See LICENSE for details.