Skip to content

Getting started ​

Prerequisites ​

Use Go 1.27 or newer compatible with go.work, Docker with Compose, and Make. Node 24 and npm are needed only for local documentation builds. Run commands from the repository root. The project has no root go.mod; use explicit workspace-module paths when running Go commands.

Start dependencies ​

sh
cp .env.example .env
openssl rand -hex 32
make dev-up

Set JWT_SECRET in .env to the generated value. DATABASE_URL is required. For a host-run API with the supplied Compose broker, set RABBITMQ_URL=amqp://prescriptoo:prescriptoo@localhost:5672/. Compose uses service hostnames inside its network; a host process uses localhost and published ports.

make dev-up starts PostgreSQL, Redis, and RabbitMQ. The API service is currently commented out in the development Compose file, so run the API on the host after starting dependencies:

sh
go run ./tools/cli database migrate
go run ./tools/cli database seed
go run ./services/api/cmd/server

make dev-api uses Air; install Air separately if using that development loop. The API listens on PORT (default 8080). RabbitMQ management is on port 15672; the Compose development user/password are prescriptoo / prescriptoo.

Authenticate ​

Follow the identity authentication guide for registration, sign-in, refresh rotation, verification, password recovery, and profile/session operations. Seeded accounts and CLI protections are documented in database operations. Do not assume a declared doctor/patient/medicine operation is implemented: consult the status table.

Build documentation ​

sh
make build-docs
make serve-docs

make build-docs builds the documentation image. make serve-docs serves the complete Caddy site at http://localhost:8081, including the welcome page, Scalar, Swagger, and project docs. Override its host port with DOCS_PORT=8082. See documentation authoring for local reference generation, the Markdown development server, and validation commands.

Documentation follows the source. Planned contracts are marked explicitly.