wip: currently rewriting the project as a full stack application tangled.org/kacaii.dev/sigo
gleam

:hammer: bring back justfile

+114 -183
+36
.justfiles/docker.just
··· 1 + set quiet := true 2 + 3 + docker := require("docker") 4 + docker-buildx := require("docker-buildx") 5 + username := "kacaii" 6 + image_name := "senac-brigade-server" 7 + tag_name := "latest" 8 + full_image_name := username / image_name + ":" + tag_name 9 + port := "8000" 10 + 11 + #  Run the container 12 + run-container: 13 + {{ docker }} run \ 14 + -e DATABASE_URL=$DATABASE_URL \ 15 + -e COOKIE_TOKEN=$COOKIE_TOKEN \ 16 + -e ADMIN_TOKEN=$ADMIN_TOKEN \ 17 + -p {{ port }}:{{ port }} \ 18 + {{ image_name }}:{{ tag_name }} 19 + 20 + #  Build, Tag and Push your app 21 + shipment: build-image tag-image push-image 22 + 23 + #  Build Docker image 24 + [no-cd] 25 + build-image: 26 + {{ docker-buildx }} build --file dockerfile --tag {{ image_name }} . 27 + 28 + #  Tag container image 29 + [private] 30 + tag-image: 31 + {{ docker }} tag {{ image_name }}:{{ tag_name }} {{ full_image_name }} 32 + 33 + #  Push to container registry 34 + [private] 35 + push-image: 36 + {{ docker }} push {{ full_image_name }}
+30
.justfiles/gleam.just
··· 1 + set quiet := true 2 + 3 + alias s := squirrel 4 + alias u := deps-update 5 + 6 + gleam := require("gleam") 7 + 8 + # 󰛃 Update dependencies 9 + deps-update: 10 + {{ gleam }} deps update 11 + 12 + #  Generate sql queries using Squirrel 13 + squirrel: 14 + {{ gleam }} run -m squirrel 15 + 16 + #  Lint and Format code 17 + [no-cd] 18 + lint: 19 + {{ gleam }} check 20 + {{ gleam }} format 21 + {{ gleam }} format --check src test 22 + 23 + # 󰚩 Generate Mock data 24 + dummy: 25 + {{ gleam }} dev -- dummy 26 + 27 + #  Setup the first admin 28 + [private] 29 + seed: 30 + {{ gleam }} dev -- admin
+27
.justfiles/postgre.just
··· 1 + set quiet := true 2 + 3 + psql := require("psql") 4 + database_url := env("DATABASE_URL") 5 + 6 + #  Rebuild the database empty 7 + [no-cd] 8 + [private] 9 + rebuild_empty: 10 + {{ psql }} {{ database_url }} -f priv/sql/drop.sql 11 + {{ psql }} {{ database_url }} -f priv/sql/create/tables.sql 12 + {{ psql }} {{ database_url }} -f priv/sql/create/triggers.sql 13 + {{ psql }} {{ database_url }} -f priv/sql/create/functions.sql 14 + {{ psql }} {{ database_url }} -f priv/sql/create/views.sql 15 + 16 + #  Delete all users except for the default one 17 + [no-cd] 18 + clean_users: 19 + {{ psql }} {{ database_url }} -f priv/sql/clean_users.sql 20 + 21 + [no-cd] 22 + list-users: 23 + {{ psql }} {{ database_url }} -f priv/sql/query/dev_list_user_accounts.sql 24 + 25 + [no-cd] 26 + list-brigades: 27 + {{ psql }} {{ database_url }} -f priv/sql/query/dev_list_brigades.sql
-38
.taskfiles/Dev/Taskfile.yml
··· 1 - version: "3" 2 - 3 - includes: 4 - gleam: ../Gleam 5 - db: ../Postgre 6 - 7 - tasks: 8 - rebuild-dummy: 9 - desc:  Rebuild the database with mock data 10 - cmds: 11 - - task: rebuild-empty 12 - - task: seed 13 - - task: dummy 14 - 15 - clean_users: 16 - desc:  Delete all users except for the default one 17 - cmds: 18 - - task: db:clean_users 19 - 20 - list-users: 21 - desc: 󰀖 List all registred users 22 - cmds: 23 - - task: db:list-users 24 - 25 - list-brigades: 26 - desc: 󰀖 List all registred brigades 27 - cmds: 28 - - task: db:list-brigades 29 - 30 - dummy: 31 - desc: 󰚩 Generate Mock data 32 - cmds: 33 - - task: gleam:dummy 34 - 35 - seed: 36 - desc:  Setup the first admin 37 - cmds: 38 - - task: gleam:seed
-42
.taskfiles/Docker/Taskfile.yml
··· 1 - version: "3" 2 - 3 - vars: 4 - USERNAME: kacaii 5 - IMAGE_NAME: senac-brigade-server 6 - TAG_NAME: latest 7 - FULL_IMAGE_NAME: "{{.USERNAME}}/{{.IMAGE_NAME}}:{{.TAG_NAME}}" 8 - PORT: 8000 9 - 10 - tasks: 11 - run: 12 - internal: true 13 - cmd: > 14 - docker run 15 - -e DATABASE_URL=$DATABASE_URL 16 - -e COOKIE_TOKEN=$COOKIE_TOKEN 17 - -e ADMIN_TOKEN=$ADMIN_TOKEN 18 - -p {{.PORT}}:{{.PORT}} 19 - {{.IMAGE_NAME}}:{{.TAG_NAME}} 20 - 21 - shipment: 22 - internal: true 23 - aliases: [ship] 24 - cmds: 25 - - task: build-image 26 - - task: tag-image 27 - - task: push-image 28 - 29 - build-image: 30 - internal: true 31 - desc:  Build Docker image 32 - cmd: docker-buildx build --file dockerfile --tag {{.IMAGE_NAME}} . 33 - 34 - tag-image: 35 - internal: true 36 - desc:  Tag container image 37 - cmd: docker tag {{.IMAGE_NAME}}:{{.TAG_NAME}} {{.FULL_IMAGE_NAME}} 38 - 39 - push-image: 40 - internal: true 41 - desc:  Push to container registry 42 - cmd: docker push {{.FULL_IMAGE_NAME}}
-28
.taskfiles/Gleam/Taskfile.yml
··· 1 - version: "3" 2 - 3 - tasks: 4 - deps-update: 5 - internal: true 6 - desc: 󰛃 Update dependencies 7 - cmd: gleam deps update 8 - 9 - squirrel: 10 - internal: true 11 - cmd: gleam run -m squirrel 12 - 13 - lint: 14 - internal: true 15 - cmds: 16 - - gleam check 17 - - gleam format 18 - - gleam format --check src test 19 - 20 - dummy: 21 - internal: true 22 - desc: 󰚩 Generate Mock data 23 - cmd: gleam dev -- dummy 24 - 25 - seed: 26 - internal: true 27 - desc:  Setup the first admin 28 - cmd: gleam dev -- admin
-23
.taskfiles/Postgre/Taskfile.yml
··· 1 - version: "3" 2 - 3 - tasks: 4 - rebuild-empty: 5 - internal: true 6 - cmds: 7 - - psql $DATABASE_URL -f priv/sql/drop.sql 8 - - psql $DATABASE_URL -f priv/sql/create/tables.sql 9 - - psql $DATABASE_URL -f priv/sql/create/triggers.sql 10 - - psql $DATABASE_URL -f priv/sql/create/functions.sql 11 - - psql $DATABASE_URL -f priv/sql/create/views.sql 12 - 13 - clean_users: 14 - internal: true 15 - cmd: psql $DATABASE_URL -f priv/sql/clean_users.sql 16 - 17 - list-users: 18 - internal: true 19 - cmd: psql $DATABASE_URL -f priv/sql/query/dev_list_user_accounts.sql 20 - 21 - list-brigades: 22 - internal: true 23 - cmd: psql $DATABASE_URL -f priv/sql/query/dev_list_brigades.sql
-52
Taskfile.yml
··· 1 - version: "3" 2 - 3 - includes: 4 - db: .taskfiles/Postgre 5 - docker: .taskfiles/Docker 6 - gleam: .taskfiles/Gleam 7 - dev: .taskfiles/Dev 8 - 9 - tasks: 10 - default: 11 - desc:  List available tasks 12 - cmd: task --list-all 13 - silent: true 14 - 15 - lint: 16 - desc:  Lint and Format code 17 - cmds: 18 - - task: gleam:lint 19 - 20 - deps-update: 21 - desc: 󰛃 Update dependencies 22 - aliases: [u] 23 - cmds: 24 - - task: gleam:deps-update 25 - 26 - squirrel: 27 - desc:  Generate sql queries using Squirrel 28 - aliases: [s] 29 - cmds: 30 - - task: gleam:squirrel 31 - 32 - rebuild-empty: 33 - aliases: [r] 34 - desc:  Rebuild the database empty 35 - cmds: 36 - - task: db:rebuild-empty 37 - 38 - rebuild-with-seed: 39 - desc:  Rebuild the database with a default admin 40 - cmds: 41 - - task: rebuild-empty 42 - - task: dev:seed 43 - 44 - run-container: 45 - desc:  Run the container 46 - cmds: 47 - - task: docker:run 48 - 49 - shipment: 50 - desc:  Build, Tag and Push your app 51 - cmds: 52 - - task: docker:shipment
+21
justfile
··· 1 + set quiet := true 2 + alias r := rebuild-empty 3 + 4 + mod db ".justfiles/postgre.just" 5 + mod docker ".justfiles/docker.just" 6 + mod gleam ".justfiles/gleam.just" 7 + 8 + default: 9 + just --list 10 + 11 + #  Rebuild the database with mock data 12 + rebuild-dummy: rebuild-with-seed 13 + just gleam::dummy 14 + 15 + #  Rebuild the database with a default admin 16 + rebuild-with-seed: rebuild-empty 17 + just gleam::seed 18 + 19 + #  Rebuild the database empty 20 + rebuild-empty: 21 + just db::rebuild_empty