Files
koin_ping_0.2.0/backend/README.md
KS Jannette 1d68ce40e7 m
2026-05-12 19:47:42 -04:00

1.8 KiB

Backend startup quickstart:

-----------------------------> BEST

1. brew services start postgresql@15

      OR 

  /opt/homebrew/opt/postgresql@15/bin/pg_ctl -D /opt/homebrew/var/postgresql@15 start

2. ALLIN ONE:

    Make dev-all — Runs both the API and poller concurrently.

-----------------------------> BEST

      - OR - 

3. Option 1: Single command (both API + poller)

   cd /Users/kjannette/workspace/koin_ping_0.2.0/backendmake dev-all

4. Option 2: Two separate terminals

    Terminal 1 (API server):
    cd /Users/kjannette/workspace/koin_ping_0.2.0/backend go run ./cmd/api
    
    make run — Builds and runs the API server.
    make dev — Runs the API server with auto-reload via air (falls back to go run if air isn't installed).

5. Terminal 2 (Poller):

    cd /Users/kjannette/workspace/koin_ping_0.2.0/backend 
    go run ./cmd/poller

    make poller — Builds and runs the poller.
    make poller-dev — Runs the poller with auto-reload.

Production: make build + restart service

On the server, from this directory:

  • make build — writes fresh bin/api and bin/poller (see the Makefile).
  • make build-api — API only; make build-poller — poller only.

Building alone does not reload a process that is already listening (e.g. on port 8080). After deploy:

  1. Ensure systemctl (or your supervisor) ExecStart runs the binary you just built (e.g. .../backend/bin/api) or copy bin/api to that path.
  2. sudo systemctl restart <your-api-service> (and the poller service if you rebuilt it).
  3. Optional check: readlink -f /proc/<pid>/exe should show your bin/api path without (deleted) — if you see (deleted), an old process is still running the previous binary from memory.