From 9542d5b03073a83fc982ed1a74aa6fbd009035c1 Mon Sep 17 00:00:00 2001 From: lawvs <18554747+lawvs@users.noreply.github.com> Date: Tue, 25 Oct 2022 18:36:05 +0800 Subject: [PATCH 1/9] chore: update workflow --- .github/workflows/build-community.yml | 10 +++++----- .github/workflows/build-livedemo.yml | 12 ++++++------ .github/workflows/build-test-version.yml | 6 +++--- packages/logger/package.json | 4 ++-- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-community.yml b/.github/workflows/build-community.yml index aa456f6acf..6cc8858cc7 100644 --- a/.github/workflows/build-community.yml +++ b/.github/workflows/build-community.yml @@ -2,9 +2,9 @@ name: Build Pathfinder Community Version on: push: - branches: [main] + branches: [pathfinder] pull_request: - branches: [main] + branches: [pathfinder] # Cancels all previous workflow runs for pull requests that have not completed. # See https://docs.github.com/en/actions/using-jobs/using-concurrency @@ -16,7 +16,7 @@ concurrency: jobs: build: - name: Lint nad Build + name: Lint and Build runs-on: ubuntu-latest steps: @@ -70,7 +70,7 @@ jobs: push_to_registry: # See https://docs.github.com/en/actions/publishing-packages/publishing-docker-images name: Push Docker image to Docker Hub - if: github.ref == 'refs/heads/main' + if: github.ref == 'refs/heads/pathfinder' runs-on: ubuntu-latest needs: build @@ -80,7 +80,7 @@ jobs: env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }}-community + IMAGE_NAME: affine-pathfinder-community IMAGE_TAG: canary-${{ github.sha }} IMAGE_TAG_LATEST: nightly-latest diff --git a/.github/workflows/build-livedemo.yml b/.github/workflows/build-livedemo.yml index 9620679449..2eacc5703c 100644 --- a/.github/workflows/build-livedemo.yml +++ b/.github/workflows/build-livedemo.yml @@ -2,9 +2,9 @@ name: Build Pathfinder LiveDemo Version on: push: - branches: [main] + branches: [pathfinder] pull_request: - branches: [main] + branches: [pathfinder] # Cancels all previous workflow runs for pull requests that have not completed. # See https://docs.github.com/en/actions/using-jobs/using-concurrency @@ -16,7 +16,7 @@ concurrency: jobs: build: - name: Lint nad Build + name: Lint and Build runs-on: ubuntu-latest steps: @@ -32,7 +32,7 @@ jobs: registry-url: https://npm.pkg.github.com scope: '@toeverything' cache: 'pnpm' - + - run: node scripts/module-resolve/ci.js - name: Restore cache @@ -72,7 +72,7 @@ jobs: push_to_registry: # See https://docs.github.com/en/actions/publishing-packages/publishing-docker-images name: Push Docker image to Docker Hub - if: github.ref == 'refs/heads/main' + if: github.ref == 'refs/heads/pathfinder' runs-on: ubuntu-latest needs: build @@ -82,7 +82,7 @@ jobs: env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} + IMAGE_NAME: affine-pathfinder IMAGE_TAG: canary-${{ github.sha }} IMAGE_TAG_LATEST: nightly-latest diff --git a/.github/workflows/build-test-version.yml b/.github/workflows/build-test-version.yml index a470e53069..59a358225a 100644 --- a/.github/workflows/build-test-version.yml +++ b/.github/workflows/build-test-version.yml @@ -18,7 +18,7 @@ concurrency: jobs: build: - name: Lint nad Build + name: Lint and Build runs-on: ubuntu-latest steps: @@ -34,7 +34,7 @@ jobs: registry-url: https://npm.pkg.github.com scope: '@toeverything' cache: 'pnpm' - + - run: node scripts/module-resolve/ci.js - name: Restore cache @@ -83,7 +83,7 @@ jobs: env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }}-testing + IMAGE_NAME: affine-pathfinder-testing IMAGE_TAG: canary-${{ github.sha }} IMAGE_TAG_LATEST: nightly-latest diff --git a/packages/logger/package.json b/packages/logger/package.json index 2e1cb19a60..8960670de6 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -15,10 +15,10 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "MPL-2.0", "repository": { "type": "git", - "url": "git+https://github.com/toeverything/AFFINE-pathfinder.git" + "url": "git+https://github.com/toeverything/AFFINE.git" }, "dependencies": { "next": "^12.3.1", From 4772ed170b0af74300b315ea088d159c4ddd5ed7 Mon Sep 17 00:00:00 2001 From: CJSS Date: Wed, 26 Oct 2022 09:35:30 +0800 Subject: [PATCH 2/9] Update README.md --- README.md | 115 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 79 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index e591caacd7..6bb4abff30 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,89 @@ -# Pathfinder +

+ AFFiNE.PRO
+ The Next-Gen Collaborative Knowledge Base +
+

-## Prerequisites +

+ AFFiNE is a next-gen knowledge base that brings planning, sorting and creating all together.
+ Privacy first, open-source, customizable and ready to use - a free replacement for Notion & Miro.
+

-- Git -- Node: any 12.x version starting with v12.0.0 or greater -- Pnpm: See [how to installation](https://pnpm.io/installation) +
+ +[![Node](https://img.shields.io/badge/node->=16.0-success)](https://www.typescriptlang.org/) +[![React](https://img.shields.io/badge/TypeScript-4.7-3178c6)](https://www.typescriptlang.org/) +[![React](https://img.shields.io/badge/React-18-61dafb)](https://reactjs.org/) +[![Rust](https://img.shields.io/badge/Rust-1.62-dea584)](https://www.rust-lang.org/) -## Development +
-``` -pnpm dev -``` +

+ +   + +   + +   + +   + +

-Open https://localhost:3000 in browser. +
+ +

affine_screen

+ +## Get Involved + +Before we tell you how to get started with AFFiNE, we'd like to shamelessly plug our awesome user and developer communities! Once you’re familiar with using the software, maybe you will share your wisdom with others and join the [AFFiNE Ambassador program](https://docs.affine.pro/affine/affine-ambassadors/welcome). + +### Contributing + +Calling all developers, testers, tech writers and more! Contributions of all types are more than welcome, you can read more in [docs/types-of-contributions.md](docs/types-of-contributions.md). If you are interested in contributing code, read our [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) and feel free to check out our GitHub issues to get stuck in to show us what you’re made of. + +For bug reports, feature requests and other suggestions you can also [create a new issue](https://github.com/toeverything/AFFiNE/issues/new/choose) and choose the most appropiate template for your feedback. + +For translation and language support you can visit our docs for the [internationalization guide](https://docs.affine.pro/affine/internationalization/welcome) + +If you have questions, join [our social platforms](https://docs.affine.pro/affine/community-links/official-communities) where our friendly community can help provide the answers. + +## Getting Started + +⚠️ Please note that AFFiNE is still under active development and is not yet ready for production use. ⚠️ + +[![affine.pro](https://img.shields.io/static/v1?label=Try%20it%20Online&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAhpJREFUWEdjZEACtnl3MxgY/0YzMjAaMzAwcCLLUYH9/T/D/7MM/5mXHp6kPANmHiOI4Zx9Xfg3C+tKBob/zlSwiAgjGPey/vkdvneq5luwA+zy7+yhn+Vwv+89NFHFhREU7IyM/6YT4WyqK/n/nymT0Tb/1mFGBkYbqptOhIH/Gf4fYbTLv/2NBgmOCOvBSr6DHPCfWNW0UEe2A2x1uRlakiXBbtpx6jND+7KXZLmPbAdURokzeJjxwi31rrzH8OX7P5IdQbYDtnUoMXBzMMEt7Fj2imH7qU/0cQBy8MNsPHL5K0P13Of0cQB68MNsJScaSI4CHk4mhq3tSnCf3n36k0FZmh3Mn7L+DcPqgx9ICgWSHeBpxsdQESUGtgRk+eqDH+H8O09/MiR3P6atA1qTJRlsdLnhPgYlPOQQCW96wPDi3R+iHUFSCKAHP8wydEeREg0kOQA9+JOgwR1qL8CQEygC9jWp0UCSA+aVysIT3JqDHxgmr38DtlRCiIVhZZ0CPNhB6QDkEGIA0Q4gZAkuxxFyBNEOQA7ml+/+MIQ1PUAxG1kelAhB6YMYQLQDCPmQUAjhcgxRDiDWcEKOxOYIohyQGyjCEGIvANaPLfhhBiNHA6hmBBXNhABRDgCV/aBQAAFQpYMrn4PUgNTCACiXEMoNRDmAkC8okR8UDhjYRumAN8sHvGMCSkAD2jUDOWDAO6ewbDQQ3XMAy/oxKownQR0AAAAASUVORK5CYII=&message=%E2%86%92&style=for-the-badge)](https://affine.pro) No installation or registration required! Head over to our website and try it out now. + +[AFFiNE Documentation](https://docs.affine.pro/affine/) - More detailed documentation on how to use and develop with AFFiNE + +[Our social platforms](https://docs.affine.pro/affine/community-links/official-communities) - Join our friendly communities for more support and discussions + +## Thanks + +We would also like to give thanks to open-source projects that make affine possible: + +- [Yjs](https://github.com/yjs/yjs) & [Yrs](https://github.com/y-crdt/y-crdt) -- Fundamental support of CRDTs for our implementation on state management and data sync. +- [React](https://github.com/facebook/react) -- View layer support and web GUI framework. +- [Rust](https://github.com/rust-lang/rust) -- High performance language that extends the ability and availability of our real-time backend, JWST. +- [Fossil](https://www2.fossil-scm.org/home/doc/trunk/www/index.wiki) -- Source code management tool made with CRDTs which inspired our design on block data structure. +- [slatejs](https://github.com/ianstormtaylor/slate) -- Customizable rich-text editor. +- [Jotai](https://github.com/pmndrs/jotai) -- Minimal state management tool for frontend. +- [Tldraw](https://github.com/tldraw/tldraw) -- Excellent drawing board. +- [MUI](https://github.com/mui/material-ui) -- Our most used graphic UI component library. +- Other [dependencies](https://github.com/toeverything/AFFiNE/network/dependencies) + +We use the following open source projects to help us build a better development experience: + +- [nx](https://github.com/nrwl/nx) -- Awesome monorepo manager & build system +- [tolgee](https://github.com/tolgee/tolgee-platform) -- Elegant i18n collaborative editing platform + +Thanks a lot to the community for providing such powerful and simple libraries, so that we can focus more on the implementation of the product logic, and we hope that in the future our projects will also provide a more easy-to-use knowledge base for everyone. -## Build +### Jobs -``` -pnpm build -``` +Some amazing companies including AFFiNE are looking for developers! Are you interested in helping build with AFFiNE and/or its partners? Check out some of the latest [jobs available](./docs/jobs/summary.md). -### Replace Modules +## License -You can create `module-resolve.js` in project root dir to replace some package to better implements. - -There is a template file in `scripts/module-resolve/module-resolve.tmpl.js`. - -Example: - -``` -function resolve(pkg) { - if (pkg.dependencies && pkg.dependencies['@toeverything/pathfinder-logger']) { - pkg.dependencies['@toeverything/pathfinder-logger'] = '^0.0.1'; - } - - return pkg; -} - -module.exports = { - resolve, -}; -``` - -***After modify/create this file, please delete the `node_modules`, then run `pnpm install` again*** \ No newline at end of file +See [LICENSE](/LICENSE) for details. From 01a01d971f72b995439b5d50bb8bf48ff270582c Mon Sep 17 00:00:00 2001 From: CJSS Date: Wed, 26 Oct 2022 09:37:45 +0800 Subject: [PATCH 3/9] Added docs folder and files --- docs/CODE_OF_CONDUCT.md | 45 +++++++++++++++++ docs/CONTRIBUTING.md | 88 ++++++++++++++++++++++++++++++++++ docs/jobs/affine.pro-remote.md | 44 +++++++++++++++++ docs/jobs/affine.pro.md | 47 ++++++++++++++++++ docs/jobs/mysc.app.md | 25 ++++++++++ docs/jobs/summary.md | 13 +++++ docs/types-of-contributions.md | 29 +++++++++++ 7 files changed, 291 insertions(+) create mode 100644 docs/CODE_OF_CONDUCT.md create mode 100644 docs/CONTRIBUTING.md create mode 100644 docs/jobs/affine.pro-remote.md create mode 100644 docs/jobs/affine.pro.md create mode 100644 docs/jobs/mysc.app.md create mode 100644 docs/jobs/summary.md create mode 100644 docs/types-of-contributions.md diff --git a/docs/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md new file mode 100644 index 0000000000..de5d75c159 --- /dev/null +++ b/docs/CODE_OF_CONDUCT.md @@ -0,0 +1,45 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- The use of sexualized language or imagery and unwelcome sexual attention or advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project maintainer. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, available at + +For answers to common questions about this code of conduct, see diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 0000000000..543f380686 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,88 @@ +# Welcome to our contributing guide + +Thank you for investing your time in contributing to our project! Any contribution you make will be reflected on our GitHub :sparkles:. + +Read our [Code of Conduct](./CODE_OF_CONDUCT.md) to keep our community approachable and respectable. Join our [Discord](https://discord.com/invite/yz6tGVsf5p) server for more. + +In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. + +Use the table of contents icon on the top left corner of this document to get to a specific section of this guide quickly. + +## New contributor guide + +To get an overview of the project, read the [README](../README.md). Here are some resources to help you get started with open source contributions: + +- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github) +- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git) +- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) +- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests) + +## Getting started + +Check to see what [types of contributions](types-of-contributions.md) we accept before making changes. Some of them don't even require writing a single line of code :sparkles:. + +### Issues + +#### Create a new issue or feature request + +If you spot a problem, [search if an issue already exists](https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/toeverything/AFFiNE/issues/new/choose). + +#### Solve an issue + +Scan through our [existing issues](https://github.com/toeverything/AFFiNE/issues) to find one that interests you. You can narrow down the search using `labels` as filters. See our [Labels](https://github.com/toeverything/AFFiNE/labels) for more information. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix. + +### Make Changes + +#### Make changes in the UI + +Click **Make a contribution** at the bottom of any docs page to make small changes such as a typo, sentence fix, or a broken link. This takes you to the `.md` file where you can make your changes and [create a pull request](#pull-request) for a review. + +#### Make changes in a codespace + +For more information about using a codespace for working on GitHub documentation, see "[Working in a codespace](https://github.com/github/docs/blob/main/contributing/codespace.md)." + +#### Make changes locally + +1. [Install Git LFS](https://docs.github.com/en/github/managing-large-files/versioning-large-files/installing-git-large-file-storage). + +2. Fork the repository. + +- Using GitHub Desktop: + + - [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. + - Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)! + +- Using the command line: + - [Fork the repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) so that you can make your changes without affecting the original project until you're ready to merge them. + +3. Install or update to **Node.js v16**. For more information, see [the development guide](contributing/development.md). + +4. Create a working branch and start with your changes! + +### Commit your update + +Commit the changes once you are happy with them. + +Reach out the community members for necessary help. + +Once your changes are ready, don't forget to self-review to speed up the review process:zap:. + +### Pull Request + +When you're finished with the changes, create a pull request, also known as a PR. + +- Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request. +- Don't forget to [link PR to issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one. +- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge. + Once you submit your PR, a Docs team member will review your proposal. We may ask questions or request for additional information. +- We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. +- As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations). +- If you run into any merge issues, checkout this [git tutorial](https://github.com/skills/resolve-merge-conflicts) to help you resolve merge conflicts and other issues. + +### Your PR is merged! + +Congratulations :tada::tada: The AFFiNE team thanks you :sparkles:. + +Once your PR is merged, your contributions will be publicly visible on our GitHub. + +Now that you are part of the AFFiNE community, see how else you can join and help over at [Gitbook](https://docs.affine.pro/affine/) diff --git a/docs/jobs/affine.pro-remote.md b/docs/jobs/affine.pro-remote.md new file mode 100644 index 0000000000..97f1d27ea3 --- /dev/null +++ b/docs/jobs/affine.pro-remote.md @@ -0,0 +1,44 @@ +## What we do + +We **AFFiNE** hold a vision of shaping a world semantically connected through block components in modern applications. +We're open for Fullstack Engineer positions across the BlockSuite sub-team. The **BlockSuite** team works on creating the best **block-editor** and **open-block** protocol for use in AFFiNE. Paving the way for a new generation of SaaS software and developers. + +## Fullstack Engineer (Fully-Remote) + +### This position is for: + +- Developing AFFiNE **the open source way**, including coding and community engagement. +- Researching and supporting **onboarding process** of new use cases for AFFiNE.pro subscribers. +- Improving our **block editor** and **graphics editor**. +- Assisting our subscribers in utilizing our product in a data-based way with help from the operational teams. +- Researching on better activation of potential subscribers. +- Engineers who are self-organized individuals and also responsible team members, no matter they are on-site or working remotely. + +### What we are looking for: + +- Software engineering experience with **editor** or **graphics** and professional real-world use cases. +- Experience and proficiency in **TypeScript** and a **second programming language** preferably **Rust**. +- Strong communication and writing skills in English. +- Ability to work in a diverse and cross-functional team with skill and ease. +- A love for open source, sharing our visions and working under those values. + +### It would be great if you are: + +- Skillful in building UI with different web frameworks or native web components. +- Heavy user of knowledge/project management tools. +- Experienced in scaling **a successful SaaS product**. +- Experienced in developing platforms or tools for developers. +- Experienced in working with a **globally distributed team**. +- Enthusiastic about AFFiNE products as a user or contributor. + +### What we offer: + +- $2800 vouchers for latest MacBook Pro or working equipment of your choice. +- Public holidays and paid annual leave starting at 12 days. +- Become a maintainer of great open source projects and use Copilot powered by GitHub for free if you want. + +### Contact us: + +Interested? Send us your CV to [contact@toeverything.info](mailto:contact@toeverything.info). + +Feel free to include any extra information (GitHub link, previous projects, personal blog etc.). diff --git a/docs/jobs/affine.pro.md b/docs/jobs/affine.pro.md new file mode 100644 index 0000000000..6cffee1817 --- /dev/null +++ b/docs/jobs/affine.pro.md @@ -0,0 +1,47 @@ +## What we do + +We **AFFiNE** hold a vision of shaping a world semantically connected through block components in modern applications. +We're open for Fullstack Engineer positions across the BlockSuite sub-team. The **BlockSuite** team works on creating the best **block-editor** and **open-block** protocol for use in AFFiNE. Paving the way for a new generation of SaaS software and developers. + +## Fullstack Engineer + +### This position is for: + +- Developing AFFiNE **the open source way**, including coding and community engagement. +- Researching and supporting **onboarding process** of new use cases for AFFiNE.pro subscribers. +- Improving our **block editor** and **graphics editor**. +- Assisting our subscribers in utilizing our product in a data-based way with help from the operational teams. +- Researching on better activation of potential subscribers. +- Engineers who are self-organized individuals and also responsible team members, no matter they are on-site or working remotely. +- + +### What we are looking for: + +- Software engineering experience with **editor** or **graphics** and professional real-world use cases. +- Experience and proficiency in **TypeScript** and a **second programming language** preferably **Rust**. +- Strong communication and writing skills in English. +- Ability to work in a diverse and cross-functional team with skill and ease. +- A love for open source, sharing our visions and working under those values. + +### It would be great if you are: + +- Skillful in building UI with different web frameworks or native web components. +- Heavy user of knowledge/project management tools. +- Experienced in scaling **a successful SaaS product**. +- Experienced in developing platforms or tools for developers. +- Experienced in working with a **globally distributed team**. +- Enthusiastic about AFFiNE products as a user or contributor. + +### What we offer: + +- $2800 vouchers for latest MacBook Pro or working equipment of your choice. +- Public holidays and paid annual leave starting at 12 days. +- Free lunch, unlimited drinks and snacks. +- Free English language lessons (including free IELTS test) open to all employees. +- Become a maintainer of great open source projects and use Copilot powered by GitHub for free if you want. + +### Contact us: + +Interested? Send us your CV to [contact@toeverything.info](mailto:contact@toeverything.info). + +Feel free to include any extra information (GitHub link, previous projects, personal blog etc.). diff --git a/docs/jobs/mysc.app.md b/docs/jobs/mysc.app.md new file mode 100644 index 0000000000..f8ffe22aaf --- /dev/null +++ b/docs/jobs/mysc.app.md @@ -0,0 +1,25 @@ +## Full Stack Platform Engineer + +### Your responsibilities will include + +- Build APIs in the Data Platform to support new capabilities within mysc. +- Work with backend and client side databases (MongoDB, Redis, SQLite) +- Design and implement algorithms that are highly performant, resilient against failures and race conditions and are easy to use by application developers +- Build up solid knowledge of our product to understand end to end system behavior and data flow +- Execute performance profiling on existing systems to identify key bottlenecks and improve their performance characteristics + +### What we're looking for + +- Strong analytical thinking, planning, and problem-solving skills +- 3-5 years experience in building APIs or Platforms +- Strong computer science fundamentals, including knowledge of data structures, algorithmic complexity, and designing for performance and scalability +- Experience in NodeJS, TypeScript and Go +- Experience working with JWST +- Experience with unit / automated testing + +### What we offer + +- A fully remote team based on Gather Town +- A culture that encourages different opinions, respects different values and advocates work life balance +- Real ownership and actual impact +- Learning and career opportunities on the long run diff --git a/docs/jobs/summary.md b/docs/jobs/summary.md new file mode 100644 index 0000000000..d3770a0a4f --- /dev/null +++ b/docs/jobs/summary.md @@ -0,0 +1,13 @@ +# Jobs + +- [Fullstack Engineer - Global](./affine.pro-remote.md) @[affine.pro](http://affine.pro/) + + Rust ·TS · Virgo · JWST · Remote , Global + +- [Fullstack Engineer - China](./affine.pro.md) @[affine.pro](http://affine.pro/) + + Rust ·TS · Virgo · JWST · Remote , China + +- [Full Stack Platform Engineer](./mysc.app.md) @[mysc.app](https://mysc.app/) + + Rust · JWST · Remote · Shanghai, China diff --git a/docs/types-of-contributions.md b/docs/types-of-contributions.md new file mode 100644 index 0000000000..9e2a647a0f --- /dev/null +++ b/docs/types-of-contributions.md @@ -0,0 +1,29 @@ +# Types of contributions :memo: + +You can contribute to AFFiNE in several ways. This repo is a place to discuss and collaborate on AFFiNE! + +### :mega: Discussions + +Discussions are where we have conversations. + +If you'd like help troubleshooting a docs PR you're working on, have a great new idea, or want to share something amazing you've learned in our docs, join us in [discussions](https://github.com/toeverything/AFFiNE/discussions). + +### :lady_beetle: Issues + +[Issues](https://docs.github.com/en/github/managing-your-work-on-github/about-issues) are used to track tasks that contributors can help with. If an issue has a triage label, we haven't reviewed it yet, and you shouldn't begin work on it. + +If you've found something in the content or the website that should be updated, search open issues to see if someone else has reported the same thing. If it's something new, open an issue using a [template](https://github.com/toeverything/AFFiNE/issues/new/choose). We'll use the issue to have a conversation about the problem you want to fix. + +### :hammer_and_wrench: Pull requests + +A [pull request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) is a way to suggest changes in our repository. When we merge those changes, they should be deployed to the live site within 24 hours. :earth_africa: +You can [create a new pull request](https://github.com/toeverything/AFFiNE/compare) and view [current pull requests](https://github.com/toeverything/AFFiNE/pulls). + +### :question: Support + +We are a small team working hard to keep up with the documentation demands of a continuously changing product. +You may be able to find additional help and information on our social media platforms and groups - the links to these can be found in our [README](../README.md). + +### :earth_asia: Translations + +AFFiNE is internationalized and available in multiple languages. The source content in this repository is written in English. We integrate with an external localization platform to work with the community in localizing the English content. You can find more info in our [internationalization docs](https://docs.affine.pro/affine/internationalization/welcome). From 729530a8627d5049a5bc568a20b08eda235f919e Mon Sep 17 00:00:00 2001 From: CJSS Date: Wed, 26 Oct 2022 09:41:17 +0800 Subject: [PATCH 4/9] Social communities --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6bb4abff30..a9d746cf4e 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ ## Get Involved -Before we tell you how to get started with AFFiNE, we'd like to shamelessly plug our awesome user and developer communities! Once you’re familiar with using the software, maybe you will share your wisdom with others and join the [AFFiNE Ambassador program](https://docs.affine.pro/affine/affine-ambassadors/welcome). +Before we tell you how to get started with AFFiNE, we'd like to shamelessly plug our awesome user and developer communities across [official social platforms](https://docs.affine.pro/affine/community-links/official-communities) ! Once you’re familiar with using the software, maybe you will share your wisdom with others and join the [AFFiNE Ambassador program](https://docs.affine.pro/affine/affine-ambassadors/welcome). ### Contributing @@ -46,7 +46,7 @@ For bug reports, feature requests and other suggestions you can also [create a n For translation and language support you can visit our docs for the [internationalization guide](https://docs.affine.pro/affine/internationalization/welcome) -If you have questions, join [our social platforms](https://docs.affine.pro/affine/community-links/official-communities) where our friendly community can help provide the answers. +If you have questions, join us across various [social platforms](https://docs.affine.pro/affine/community-links/official-communities) where our friendly community can help provide the answers. ## Getting Started @@ -56,7 +56,7 @@ If you have questions, join [our social platforms](https://docs.affine.pro/affin [AFFiNE Documentation](https://docs.affine.pro/affine/) - More detailed documentation on how to use and develop with AFFiNE -[Our social platforms](https://docs.affine.pro/affine/community-links/official-communities) - Join our friendly communities for more support and discussions +[Our official communities](https://docs.affine.pro/affine/community-links/official-communities) - Join our friendly communities for more support and discussions ## Thanks From d6bf2d2d71218e4c699532b4f4f2fa71f7c7ec25 Mon Sep 17 00:00:00 2001 From: CJSS Date: Wed, 26 Oct 2022 09:42:09 +0800 Subject: [PATCH 5/9] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a9d746cf4e..fa2a98f492 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ If you have questions, join us across various [social platforms](https://docs.af ## Thanks -We would also like to give thanks to open-source projects that make affine possible: +We would also like to give thanks to open-source projects that make AFFiNE possible: - [Yjs](https://github.com/yjs/yjs) & [Yrs](https://github.com/y-crdt/y-crdt) -- Fundamental support of CRDTs for our implementation on state management and data sync. - [React](https://github.com/facebook/react) -- View layer support and web GUI framework. From dd0513e592567b2188f9544300b44b0947f8e182 Mon Sep 17 00:00:00 2001 From: CJSS Date: Wed, 26 Oct 2022 09:45:50 +0800 Subject: [PATCH 6/9] Ambassador contribution update --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fa2a98f492..83cff471f1 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,9 @@ Calling all developers, testers, tech writers and more! Contributions of all typ For bug reports, feature requests and other suggestions you can also [create a new issue](https://github.com/toeverything/AFFiNE/issues/new/choose) and choose the most appropiate template for your feedback. -For translation and language support you can visit our docs for the [internationalization guide](https://docs.affine.pro/affine/internationalization/welcome) +For translation and language support you can visit our docs for the [internationalization guide].(https://docs.affine.pro/affine/internationalization/welcome) + +Looking for others ways to contribute and wondering where to start? Check out the [AFFiNE Ambassador program](https://docs.affine.pro/affine/affine-ambassadors/welcome), we work closely with passionate members of our community and provide them with a wide-range of support and resources. If you have questions, join us across various [social platforms](https://docs.affine.pro/affine/community-links/official-communities) where our friendly community can help provide the answers. From 59633ec4601c351585820546c6e9a770f4647c90 Mon Sep 17 00:00:00 2001 From: CJSS Date: Wed, 26 Oct 2022 10:34:23 +0800 Subject: [PATCH 7/9] Features --- README.md | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 83cff471f1..3efb68d47f 100644 --- a/README.md +++ b/README.md @@ -34,23 +34,27 @@

affine_screen

-## Get Involved +## Join our community -Before we tell you how to get started with AFFiNE, we'd like to shamelessly plug our awesome user and developer communities across [official social platforms](https://docs.affine.pro/affine/community-links/official-communities) ! Once you’re familiar with using the software, maybe you will share your wisdom with others and join the [AFFiNE Ambassador program](https://docs.affine.pro/affine/affine-ambassadors/welcome). +Before we tell you how to get started with AFFiNE, we'd like to shamelessly plug our awesome user and developer communities across [official social platforms](https://docs.affine.pro/affine/community-links/official-communities)! Once you’re familiar with using the software, maybe you will share your wisdom with others and even consider joining the [AFFiNE Ambassador program](https://docs.affine.pro/affine/affine-ambassadors/welcome) to help spread AFFiNE to the world. -### Contributing +## Features -Calling all developers, testers, tech writers and more! Contributions of all types are more than welcome, you can read more in [docs/types-of-contributions.md](docs/types-of-contributions.md). If you are interested in contributing code, read our [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) and feel free to check out our GitHub issues to get stuck in to show us what you’re made of. +**Privacy focussed** — AFFiNE is built with your privacy in mind and is one of our key concerns. We want you to keep control of your data, allowing you to store it as you like, where you like while still being able to freely edit and view your data on-demand. -For bug reports, feature requests and other suggestions you can also [create a new issue](https://github.com/toeverything/AFFiNE/issues/new/choose) and choose the most appropiate template for your feedback. +**Offline-first** - With your privacy in mind we also decided to go offline-first. This means that AFFiNE can be used offline, whether you want to view or edit, with support for conflict-free merging when you are back online. -For translation and language support you can visit our docs for the [internationalization guide].(https://docs.affine.pro/affine/internationalization/welcome) +**Clean, intuitive design** — With AFFiNE you can concentrate on editing with a clean and modern interface. Which is responsive, so it looks great on tablets too, and mobile support is coming in the future. -Looking for others ways to contribute and wondering where to start? Check out the [AFFiNE Ambassador program](https://docs.affine.pro/affine/affine-ambassadors/welcome), we work closely with passionate members of our community and provide them with a wide-range of support and resources. +**Seamless transtions** — However you want your data displayed, whichever viewing mode you use, AFFiNE supports easy transitions to allow you to quickly and effortlessly view your data in the way you want. -If you have questions, join us across various [social platforms](https://docs.affine.pro/affine/community-links/official-communities) where our friendly community can help provide the answers. +**Markdown support** — When you write in AFFiNE you can use Markdown syntax which helps create an easier editing experience, that can be experienced with just a keyboard. And this allows you to export your data cleanly into Markdown. + +**Choice of multiple languages** — Thanks to community contributions AFFiNE offers support for multiple languages. If you don't find your language or would like to suggest some changes we welcome your contributions. -## Getting Started +## Getting started ⚠️ Please note that AFFiNE is still under active development and is not yet ready for production use. ⚠️ @@ -60,6 +64,18 @@ If you have questions, join us across various [social platforms](https://docs.af [Our official communities](https://docs.affine.pro/affine/community-links/official-communities) - Join our friendly communities for more support and discussions +## Contributing + +Calling all developers, testers, tech writers and more! Contributions of all types are more than welcome, you can read more in [docs/types-of-contributions.md](docs/types-of-contributions.md). If you are interested in contributing code, read our [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md) and feel free to check out our GitHub issues to get stuck in to show us what you’re made of. + +For **bug reports**, **feature requests** and other **suggestions** you can also [create a new issue](https://github.com/toeverything/AFFiNE/issues/new/choose) and choose the most appropiate template for your feedback. + +For **translation** and **language support** you can visit our docs for the [internationalization guide].(https://docs.affine.pro/affine/internationalization/welcome) + +Looking for **others ways to contribute** and wondering where to start? Check out the [**AFFiNE Ambassador program**](https://docs.affine.pro/affine/affine-ambassadors/welcome), we work closely with passionate members of our community and provide them with a wide-range of support and resources. + +If you have questions, join us across various [**social platforms**](https://docs.affine.pro/affine/community-links/official-communities) where our friendly community can help provide the answers. + ## Thanks We would also like to give thanks to open-source projects that make AFFiNE possible: @@ -82,7 +98,7 @@ We use the following open source projects to help us build a better development Thanks a lot to the community for providing such powerful and simple libraries, so that we can focus more on the implementation of the product logic, and we hope that in the future our projects will also provide a more easy-to-use knowledge base for everyone. -### Jobs +## Jobs Some amazing companies including AFFiNE are looking for developers! Are you interested in helping build with AFFiNE and/or its partners? Check out some of the latest [jobs available](./docs/jobs/summary.md). From 77fc3de072ebbb45b27e6043ef6ab7c5756dcfe0 Mon Sep 17 00:00:00 2001 From: CJSS Date: Wed, 26 Oct 2022 10:36:07 +0800 Subject: [PATCH 8/9] Link fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3efb68d47f..51d81135d1 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ For **bug reports**, **feature requests** and other **suggestions** you can also For **translation** and **language support** you can visit our docs for the [internationalization guide].(https://docs.affine.pro/affine/internationalization/welcome) -Looking for **others ways to contribute** and wondering where to start? Check out the [**AFFiNE Ambassador program**](https://docs.affine.pro/affine/affine-ambassadors/welcome), we work closely with passionate members of our community and provide them with a wide-range of support and resources. +Looking for **others ways to contribute** and wondering where to start? Check out the [AFFiNE Ambassador program](https://docs.affine.pro/affine/affine-ambassadors/welcome), we work closely with passionate members of our community and provide them with a wide-range of support and resources. If you have questions, join us across various [**social platforms**](https://docs.affine.pro/affine/community-links/official-communities) where our friendly community can help provide the answers. From 3b517ea130d6a8c7dbcd4936bb27fb92dc021634 Mon Sep 17 00:00:00 2001 From: CJSS Date: Wed, 26 Oct 2022 10:45:16 +0800 Subject: [PATCH 9/9] BlockSuite --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 51d81135d1..c7fcd3b451 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ If you have questions, join us across various [**social platforms**](https://doc We would also like to give thanks to open-source projects that make AFFiNE possible: +- [BlockSuite](https://github.com/toeverything/BlockSuite) - AFFiNE is built with and powered by BlockSuite. - [Yjs](https://github.com/yjs/yjs) & [Yrs](https://github.com/y-crdt/y-crdt) -- Fundamental support of CRDTs for our implementation on state management and data sync. - [React](https://github.com/facebook/react) -- View layer support and web GUI framework. - [Rust](https://github.com/rust-lang/rust) -- High performance language that extends the ability and availability of our real-time backend, JWST.