1.8 KiB
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 freshbin/apiandbin/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:
- Ensure
systemctl(or your supervisor)ExecStartruns the binary you just built (e.g..../backend/bin/api) or copybin/apito that path. sudo systemctl restart <your-api-service>(and the poller service if you rebuilt it).- Optional check:
readlink -f /proc/<pid>/exeshould show yourbin/apipath without(deleted)— if you see(deleted), an old process is still running the previous binary from memory.