Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Environment Setup

Requirements

To develop Convinator, there are some software requirements you need to have installed:

  • docker
    • Runs the database and other services in containers
  • rust
    • Primary backend language
  • node
    • Runtime for the frontend
  • pnpm
    • Package manager for frontend dependencies
  • just
    • Command runner for project scripts
  • tmux
    • Terminal multiplexer for running multiple apps at once

Setup

  1. Clone the repository

    git clone ssh://git@codeberg.org/borisnl/Convinator.git convinator && \
    cd convinator
    
  2. Install the pnpm and cargo dependencies using just

    just install
    
  3. Copy the .env.example file to .env and set the CONVI_JWT_SECRET to a random string

    cp .env.example .env && \
    sed -i "s/^CONVI_JWT_SECRET=.*$/CONVI_JWT_SECRET=$(openssl rand -hex 32)/g" .env
    
  4. Run the front- and backend in tmux using just

    just run
    
  5. If you’d like to use the S3 adapter, you need to set up garage (a local S3 service). This command should also update your .env file with the generated secrets.

    just setup-garage
    

You should now be able to reach the frontend at localhost:4200 and start making changes. Changes in the frontend will automatically reload, but the backend will not. You will have to manually restart it using just run-backend in the backend tmux session (the left pane).

To stop the development server, you can run just kill. This command will kill the tmux session and stop the running docker containers.