A project that implements a chat app simialr to Slack. It uses Proto Buffers anf gRPC to communicate with the server. Admin and the client application are written in SolidJS. Persistance layer is PostgreSQL.
Start Podman in rootful setting because Postgres image requires rootful.
podman machine set --rootful
podman machine start
Also see.
brew install libpq
brew link --force libpq
then
PQ_LIB_DIR="$(brew --prefix libpq)/lib"
cargo install diesel_cli --no-default-features --features postgres
We use the latest Postgres image.
Below command requires rootful start of podman.
Persistence layer using Postgres that binds to the data folder inside this directory which will remove after Ctrl+C:
podman run --rm --name chat-data -v $(pwd)/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres
password: mysecretpassword
username: postgres
postgres://postgres:mysecretpassword@localhost/diesel_demo
podman run --rm --name chat-redis -d redis
Run in the web folders. See protobuf-ts
npx protoc --ts_out src/chat --proto_path ../chat-proto ../chat-proto/chat.proto
Also see
brew install protobuf@3
brew link --overwrite protobuf@3