6.2 KiB
go-first
URPI — Web Application & Backend Development Experts > Live at: https://www.urpi.be
| Module | github.com/dnoulet/go-first · go 1.23 · 12 Go files |
| Endpoints | 0 endpoints |
| Components | 0 component directories |
| Tests | none detected |
| Go lines | 1383 lines |
Everything between the generated markers is rewritten by every sync. Notes written outside the markers are kept.
For Users
What this application does
URPI — Web Application & Backend Development Experts > Live at: https://www.urpi.be
The project ships its own README at README.md, which is the long form of this page. The three audience tabs split the same facts three ways so you only read the part that concerns you.
Reading this in go-doc
Open the page and pick the tab that matches you:
- User — you use the finished application. This section is all you need.
- Operator — you run it. Configuration, ports and deployment notes are under that tab.
- Developer — you integrate with it or change it. The API and layout tables are under that tab.
The feedback panel stores a note per audience, tagged with your badge, so operators and developers can see which audience raised it.
Where the original documentation lives
This project already carries 4 Markdown documents. They stay in the project repository: this page points at them instead of copying them, so there is always exactly one copy of the truth.
| Document | Size |
|---|---|
README.md |
9681 bytes |
docs/API.md |
8052 bytes |
docs/DEPLOYMENT.md |
9465 bytes |
docs/DEVELOPMENT.md |
11918 bytes |
For Operators
Running it locally
The root Makefile defines 30 targets:
make build-backendmake build-frontendmake cert-renewmake cert-statusmake check-depsmake ci-buildmake ci-installmake ci-testmake clean-allmake db-migrate-createmake db-migrate-downmake db-migrate-upmake deploy-stagingmake dev-backendmake dev-frontendmake generatemake installmake lint-backendmake lint-frontendmake logsmake release-majormake release-minormake release-patchmake restartmake startmake statusmake stopmake test-backendmake test-frontendmake version
Local containers
The compose file defines these services:
| Service | Image | Published ports |
|---|---|---|
| app | built locally | internal only |
| postgres | postgres:16-alpine |
internal only |
| redis | redis:7-alpine |
internal only |
| nginx | nginx:alpine |
internal only |
Image
Dockerfile builds from golang:1.23-alpine, node:20-alpine, alpine:3.20 in stages: backend-builder, frontend-builder and exposes 8080.
Configuration
Every environment variable found in the source or in a .env file:
| Variable | Example | Found in |
|---|---|---|
CORS_ALLOWED_ORIGINS |
http://localhost:3000,http://localhost:5173,http://127.0.0.1:3000,http://127.0.0.1:5173 |
.env file |
DATABASE_HOST |
localhost |
.env file |
DATABASE_NAME |
go_first_dev |
.env file |
DATABASE_PASSWORD |
postgres |
.env file |
DATABASE_PORT |
5432 |
.env file |
DATABASE_SSL_MODE |
disable |
.env file |
DATABASE_USER |
postgres |
.env file |
EMAIL_FROM_ADDRESS |
noreply@localhost |
.env file |
EMAIL_FROM_NAME |
URPI Local |
.env file |
EMAIL_PASSWORD |
— | .env file |
EMAIL_SMTP_HOST |
— | .env file |
EMAIL_SMTP_PORT |
587 |
.env file |
EMAIL_USERNAME |
— | .env file |
FRONTEND_BUILD_PATH |
./web/dist |
.env file |
FRONTEND_SPA_FALLBACK |
true |
.env file |
JWT_EXPIRES_IN |
24 |
.env file |
JWT_REFRESH_EXPIRES_IN |
168 |
.env file |
JWT_SECRET |
local_development_secret_key_change_in_production |
.env file |
LOGGING_FORMAT |
console |
.env file |
LOGGING_LEVEL |
debug |
.env file |
LOGGING_OUTPUT |
stdout |
.env file |
REDIS_DB |
0 |
.env file |
REDIS_HOST |
localhost |
.env file |
REDIS_PASSWORD |
— | .env file |
REDIS_PORT |
6379 |
.env file |
SERVER_HOST |
0.0.0.0 |
.env file |
SERVER_MODE |
debug |
.env file |
SERVER_PORT |
8080 |
.env file |
Network surface
Ports referenced across the project: 5432, 8080.
Deployment artefacts
No Helm chart was found, so deployment is expected to be plain Docker or a managed platform.
Operations documentation that already exists
Read these in place rather than duplicating them here:
docs/DEPLOYMENT.md— Deployment Guide — go-first / URPI
No HTTP route registrations were detected. If this is a server, the API table is incomplete — check for routes built dynamically.
For Developers
Module layout
- go.mod — module github.com/dnoulet/go-first, go 1.23, 5 direct and 26 indirect dependencies
HTTP API
No route registrations were detected, which is expected for a CLI, a library or a worker.
Direct dependencies
github.com/gin-gonic/ginv1.10.0github.com/google/uuidv1.6.0github.com/joho/godotenvv1.5.1github.com/rs/zerologv1.33.0gopkg.in/yaml.v3v3.0.1
Directory map
| Directory | Files | Lines | Likely purpose |
|---|---|---|---|
web/ |
37 | 2366 | frontend assets |
internal/ |
11 | 1266 | unimportable application internals |
docs/ |
3 | 0 | project documentation |
deploy/ |
2 | 316 | deployment manifests |
cmd/ |
1 | 117 | binary entry points |
Languages
- JSON — 4 files, 6107 lines
- TypeScript — 27 files, 2262 lines
- Markdown — 4 files, 1784 lines
- Go — 12 files, 1383 lines
- YAML — 4 files, 540 lines
- out — 1 file, 354 lines
- conf — 1 file, 185 lines
- CSS — 1 file, 161 lines
- Shell — 1 file, 131 lines
- JavaScript — 2 files, 94 lines
Developer documentation that already exists
docs/API.md— API Documentation — go-first / URPIdocs/DEVELOPMENT.md— Development Guide — go-first / URPI