/polynotes

A productivity and organization tool platform (in rust and react)

Primary LanguageTypeScriptMIT LicenseMIT

📝 Polynotes

A productivity and organization tool platform.

  • Frontend: React + Emotion + ViteJS (swc)
  • Backend: Rust + Axum + Mongodb driver
  • Database: MongoDB sharded cluster

➡️ Read the main TAD here
➡️ Read the MongoDB TAD here

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

How to start (dev)

  1. Fill env file
$ cp .env.dist .env
$ vim .env

Complete:

-MONGO_USER & MONGO_PASSWORD, it will be your credentials to authenticate you to the mongo cluster

  • The SMTP_* variables for the mail server (to send emails)
  • BACKEND_BASE_API with something like http://localhost:3001/api/v1
  • FRONTEND_HOST with http://localhost:5173 (default port for vite)
  1. Start mongo cluster
$ docker compose up -d

# init replica sets & shards (you will have to wait ~25s)
$ ./mongo/init.sh

# to create the user in mongo (for the backend)
$ ./mongo/create-user.sh

If you are too lazy to remove all the volumes from the mongos, I have created a script to remove them.

-> here destroy.sh

  1. Start backend
$ cd backend
$ cargo r
  1. Start frontend
$ cd ../frontend
$ yarn dev
  1. Go to localhost:5173 (or whichever you choose)

Documentation