Kildekoden er på engelsk.
Kildekoden er på engelsk For at testene skal fungere, bruk node version >=22
/
db/
database modullib/
generell delt kodesrc/
serverkode (CORE og API samlet)
Start med å kjøre
pnpm install
og pass på at du har fått installert alle avhengighetene riktig.
Deretter lag en .env
-fil for å lage egne miljøvariabler.
Start med å sette:
PORT=*porten du vil kjøre apien fra, f.eks. 8080*
HOSTING_URL=*urlen du kjører apiet fra, f.eks. localhost*
Deretter må du sette opp databasetilkoblingene.
Nå legger du inn databasetilkoblingsinnstillingene som miljøvariabler, anbefaler å bruke en .env
fil.
Du må legge inn alle disse innstillingene:
DATABASE_HOST=*f.eks. localhost*
DATABASE_PORT=*f.eks. 5432*
DATABASE_NAME=*f.eks. vektorpostgres*
DATABASE_USER=*f.eks. postgres*
DATABASE_PASSWORD=*f.eks. pass123*
Eventuelt kan du sette:
LOG_DATABASE_CREDENTIALS_ON_STARTUP=true
for å sjekke at tilkoblingsinstillingene til databasen ser bra ut når du kjører appen.
Kjør:
og databasen burde være oppe og gå med en gang.
I .env
sett
DATABASE_SSL_OPTION=false
fordi lokale databaser ikke tillater ssl-tilkoblinger.
Du finner tilkoblingsinnstillingene på digital ocean. Siden databasen fortsatt er i utvilking og vi ikke har skaffet et CA-sertifikat til den enda, må du sette:
DATABASE_SSL_OPTION=dev
Eventuelt kan du kopiere CA-serifikatet til databasen fra digital ocean og sette dette i en miljøvariabel, men dette er unødvendig under utvilking. Om du uansett vil prøve må du sette:
DATABASE_SSL_OPTION=prod-provide_ca_cert
og
CA_CERT=*CA-sertifikatet*
i .env
.
For å kjøre appen og migrere databasen, se scripts.
christian-kohler.npm-intellisense
Paste the following into .vscode/settings.json
{
"editor.formatOnSave": true,
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome"
}
}
Run server
pnpm dev:once
Run server, watch for changes:
pnpm dev
Run tests in /src/tests
:
pnpm test
Format files, safe fixes applied:
pnpm format
Lint files in, safe fixes applied:
pnpm lint
Format and lint files, safe fixes applied:
pnpm check
Build into /build
:
pnpm build
Run the built javascript in /build
:
pnpm start
Build, then start:
pnpm prod
Start a postgres database in a docker container:
docker compose up
Generate migration files to /db/migrations
:
pnpm db:generate
Migrate the database with the generated migrationfiles in /db/migrations
:
pnpm db:migrate
Open the database in the drizzle studio interface:
pnpm db:studio
Seed the database with random, but deterministic values:
pnpm db:seed
Tabellnavn er i flertall (users > user)