Zenote is a collaborative graph note-based system designed to revolutionize the way teams collaborate on notes. By leveraging a graph-based data structure, Zenote enables users to create, manage, and visualize their notes in an interconnected environment, enhancing the retrieval and organization of information.
Collaborative Editing: Real-time collaboration across teams. Graph-Based Notes: Organize notes in a flexible, non-linear fashion. Permission Management: Fine-grained access control for users and organizations. Scalable Architecture: Built on Rust and PostgreSQL for performance and reliability. Getting Started These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Rust (latest stable version) PostgreSQL sqlx-cli for handling database migrations. Setup Clone the repository
Copy code
git clone https://yourrepository.com/zenote_backend.git
cd zenote_backend
Setup the Database Ensure PostgreSQL is running, and create two databases: one for development and one for testing.
createdb zenote_db
createdb zenote_db_test
Environment Variables Create a .env file in the root directory and update it with your database credentials:
POSTGRES_DB=zenote_db
POSTGRES_PASSWORD=yourpassword
DATABASE_URL=postgres://postgres:yourpassword@localhost/zenote_db
POSTGRES_DB_TEST=zenote_db_test
POSTGRES_PASSWORD_TEST=yourtestpassword
TEST_DATABASE_URL=postgres://postgres:yourtestpassword@localhost:5433/zenote_db_test
sqlx migrate run
Repeat for the test database by adjusting the DATABASE_URL temporarily or by using the test environment variable setup.
Copy code
cargo run
Testing Run the automated tests for this system with:
cargo test
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the GNU License - see the LICENSE.md file for details.
Thanks to the Rust community for the invaluable resources. Special thanks to all contributors and testers.