diff --git a/README.md b/README.md index 51aca1ed..9d603884 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,36 @@ -# AppFlowy Cloud -- Cloud Server for AppFlowy +
+
+
β‘ The AppFlowy Cloud written with Rust π¦
+ +# AppFlowy Cloud + +AppFlowy Cloud is the backbone of the AppFlowy ecosystem, offering secure user authentication, robust file storage, +and real-time WebSocket communication for an efficient and collaborative user experience. + +## Table of Contents +- [π Deployment](#-deployment) +- [π» Development](#-development) +- [π Debugging](#-debugging) +- [βοΈ Contributing](#-contributing) + + +## π Deployment - See [deployment guide](./doc/deployment.md) -## Development +## π» Development ### Pre-requisites @@ -55,9 +81,15 @@ After the server is running, you can run the tests with: cargo test ``` -### Debugging -#### Postgres -- [PgAdmin](http://localhost:5400) +## πDebugging + +Effective debugging is essential for maintaining a healthy application. Here are some tools and commands to help you +troubleshoot issues in various components of the AppFlowy cloud server: + +### Postgres + +A web-based administration tool for PostgreSQL. Access it at [PgAdmin](http://localhost:5400) + - OR command line: ```bash export PGPASSWORD=password @@ -65,12 +97,23 @@ cargo test ``` - Redis + +Redis offers a powerful command line interface for managing your Redis instance. Connect using the following command: + ```bash redis-cli -p 6380 ``` -#### Minio -- [Web UI](http://localhost:9001) +### Minio -#### Portainer -- [Web UI](http://localhost:9442) +Minio provides a Web UI for easy management of your files and buckets. Access it at [Web UI](http://localhost:9001) + +### Portainer +For managing Docker containers, Portainer's Web UI is an excellent tool. Access it at Web UI to easily manage Docker +environments, including container deployment, networking, volume management, and more. Access it at [Web UI](http://localhost:9442) + + +## βοΈ Contributing + +Any new contribution is more than welcome in this project! +If you want to know more about the development workflow or want to contribute, please visit our [contributing guidelines](./doc/CONTRIBUTING.md) for detailed instructions! diff --git a/assets/logos/appflowy_logo.svg b/assets/logos/appflowy_logo.svg new file mode 100644 index 00000000..8e37a1c7 --- /dev/null +++ b/assets/logos/appflowy_logo.svg @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/doc/CONTRIBUTING.md b/doc/CONTRIBUTING.md new file mode 100644 index 00000000..fa598c74 --- /dev/null +++ b/doc/CONTRIBUTING.md @@ -0,0 +1,68 @@ +# Contributing + +First of all, thank you for contributing to AppFlowy Cloud! The goal of this document is to provide everything you need +to know in order to contribute to AppFlowy Cloud and its different integrations. + +- [Assumptions](#assumptions) +- [How to Contribute](#how-to-contribute) +- [Development Workflow](#development-workflow) + + +## Assumptions + +1. **You're familiar with [GitHub](https://github.com) and the [Pull Request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests)(PR) workflow.** +2. **You know about the [AppFlowy community](https://discord.gg/9Q2xaN37tV"). Please use this for help.** + +## How to Contribute + +Contributions are welcome! Here's how you can help improve AppFlowy Cloud: + +1. Identify or propose enhancements or fixes by checking [existing issues](https://github.com/AppFlowy-IO/AppFlowy-Cloud/issues) or [creating a new one](https://github.com/AppFlowy-IO/AppFlowy-Cloud/issues/new/choose). +2. [Fork the repository](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) to your own GitHub account. Feel free to discuss your contribution with a maintainer beforehand. +3. [Create a feature or bugfix branch](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-and-deleting-branches-within-your-repository) in your forked repo. +4. Familiarize yourself with the [Development Workflow](#development-workflow) for guidelines on maintaining code quality. +5. Implement your changes on the new branch. +6. [Open a Pull Request (PR)](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork) against the `main` branch of the original AppFlowy Cloud repo. Await feedback or approval from the maintainers. + + +## Development Workflow + +To get the server running locally, execute: + +```bash +./build/run_local_server.sh +``` + +Ensure functionality by executing the test suite: + +```bash +cargo test +``` + +For a pull request (PR) to be considered, it must: + +- Pass all tests. +- Adhere to [`clippy`](https://github.com/rust-lang/rust-clippy) linting standards: + + ```bash + cargo clippy -- -D warnings + ``` + + If `clippy` is not installed: + + ```bash + rustup update + rustup component add clippy + ``` + +- Comply with the code formatting rules. To format your code: + + ```bash + cargo fmt + ``` + + To check formatting: + + ```bash + cargo fmt --all -- --check + ```