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 installog 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=truefor å 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=falsefordi 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=devEventuelt 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_certog
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:onceRun server, watch for changes:
pnpm devRun tests in /src/tests:
pnpm testFormat files, safe fixes applied:
pnpm formatLint files in, safe fixes applied:
pnpm lintFormat and lint files, safe fixes applied:
pnpm checkBuild into /build:
pnpm buildRun the built javascript in /build:
pnpm startBuild, then start:
pnpm prodStart a postgres database in a docker container:
docker compose upGenerate migration files to /db/migrations:
pnpm db:generateMigrate the database with the generated migrationfiles in /db/migrations:
pnpm db:migrateOpen the database in the drizzle studio interface:
pnpm db:studioSeed the database with random, but deterministic values:
pnpm db:seedTabellnavn er i flertall (users > user)