Project could be test with command (start)
from user namespace.
Please don't forget to:
- add to root
data/dev
folder or configure your XTDB connection - install npm packages, eg
yarn
before open your REPL.
Based on Clojure tools (deps.edn).
Application services | Libraries |
---|---|
Database | XTDB + RocksDB |
State Management | Mount [clj/ cljs] |
Routing/ Interceptors | Pedestal |
Frontend | Shadow-cljs + Tailwind CSS |
Generate jar | Uberdeps |
Test runner | Kaocha |
What is contains:
- simple user auth/flow
- simple content at frontend
- simple tests
UML extensions:
- PlantUML, Mermaid installed for UML diags
- Extension: [puml, plantuml, puclass format] in this folder
Rocksdb Installation on Ubuntu 18.04
sudo apt install liblz4-dev
sudo apt-get install -y libgflags-dev libsnappy-dev zlib1g-dev libbz2-dev libzstd-dev
git clone https://github.com/facebook/rocksdb.git
sudo apt-get install g++
sudo apt-get install build-essential
cd rocksdb/
PORTABLE=1 make all
https://docs.desmos.network/fullnode/rocksdb-installation/
- Clone RocksDB
git clone https://github.com/facebook/rocksdb.git && cd rocksdb
- Build Rocks
DBDEBUG_LEVEL=0 make shared_lib
- Install RocksDB so that Desmos can access it
sudo make install-shared
- Make sure the newly built library is linked correctly
sudo ldconfig
make install DB_BACKEND=rocksdb
sudo apt install librocksdb-dev
Add to root folder in the .env XTDB_ENABLE_BYTEUTILS_SHA1="true"
OR Edit ~/.zshrc and add the line export XTDB_ENABLE_BYTEUTILS_SHA1=true.
Check more info at: https://docs.xtdb.com/administration/1.22.0/configuring/ -> Environment Variables
Important comment: I need to start the repl from terminal (outside of IntelliJ), because that is just
a simulated terminal and will not pick up the env in correct way. I talked about with Cursive' dev.
So, that is the "best practice" at XTDB.
Mac M1 issue: xtdb/xtdb#1518
{org.rocksdb/rocksdbjni {:mvn/version "6.29.4.1"}}
Mermaid diagram
graph LR
A[write code] --> B{Does it work?}
B -- Yes --> C[Great!]
B -- No --> D[Google]
D --> A