Household planning and management software meant to organise and streamline neurodivergent households.
1# Variables
2export DATABASE_URL := "postgres://sweetnhome_dev:sweetnhome_dev@localhost:5432/sweetnhome_dev"
3export PORT := "3005"
4
5[private]
6default:
7 @just --list
8
9
10[doc("Install dashboard deps")]
11bun-install-dashboard:
12 cd sweetnhouse_dashboard && bun i
13
14[doc("Build dashboard static files")]
15build-dashboard: bun-install-dashboard
16 cd sweetnhouse_dashboard && gleam build --target javascript
17 rm -f sweetnhouse_server/priv/static/client.min.mjs \
18 sweetnhouse_server/priv/static/client.mjs \
19 sweetnhouse_server/priv/static/client.css
20 echo 'import { main } from "./sweetnhouse_dashboard.mjs";document.addEventListener("DOMContentLoaded", main())' > "./sweetnhouse_dashboard/build/dev/javascript/sweetnhouse_dashboard/sweetnhouse_dashboard.ts"
21 cd sweetnhouse_dashboard && \
22 bun build ./build/dev/javascript/sweetnhouse_dashboard/sweetnhouse_dashboard.ts --minify --outfile ../sweetnhouse_server/priv/static/client.min.mjs --target=browser ;\
23 bun build ./build/dev/javascript/sweetnhouse_dashboard/sweetnhouse_dashboard.ts --outfile ../sweetnhouse_server/priv/static/client.mjs --target=browser ;\
24 tailwindcss -i ./src/sweetnhouse_dashboard.css -o ../sweetnhouse_server/priv/static/client.css
25
26
27[doc("Build the server BEAM files")]
28build-server:
29 cd sweetnhouse_server && gleam build --target erlang
30
31[doc("Updates sql.gleam files")]
32update-sql:
33 cd sweetnhouse_server && gleam run -m squirrel
34
35[doc("Development run")]
36dev: build-dashboard build-server
37 mkdir -p data/postgres
38 # Podman setup
39 podman run --replace -v ./data/postgres:/var/lib/postgresql:Z \
40 --name sweetnhome-dev-pg -p 5432:5432 \
41 -e POSTGRES_PASSWORD=sweetnhome_dev \
42 -e POSTGRES_USER=sweetnhome_dev -d \
43 docker.io/library/postgres:18.1
44 # Start app
45 cd sweetnhouse_server && gleam run