source: README.md@ b715712

main
Last change on this file since b715712 was b715712, checked in by Stefan <trsunovstefan@…>, 8 weeks ago

Add the server side and configuration

  • Property mode set to 100644
File size: 1.8 KB
Line 
1# EduBerza — quick start
2
3Educational crypto-exchange simulator. Go CLI + PostgreSQL. Course project for
4*Databases 2025/2026 Winter*, FINKI UKIM.
5
6Full documentation lives in [`docs/`](docs/) — start at [`docs/README.md`](docs/README.md),
7which is the project front page and links every phase. Detailed build and test
8instructions are in [`docs/P4-Prototype/BuildInstructions.md`](docs/P4-Prototype/BuildInstructions.md).
9
10## Run it in four commands
11
12```sh
13cp .env.example .env # local defaults: postgres on port 5433
14docker compose up -d # start PostgreSQL
15go build -o eduberza ./server
16./eduberza -init # create the `project` schema + load sample data
17./eduberza # start the CLI
18```
19
20Log in as `alice` / `test123` (also `bob`, `charlie` — same password).
21
22`./eduberza -init` is destructive and idempotent: it drops and recreates the
23`project` schema every time, so it is the reset button whenever a demo goes
24sideways. `./eduberza -load-data` reloads only the sample data.
25
26Optional — watch prices move while you trade, in a second terminal:
27
28```sh
29go run ./bots
30```
31
32## Layout
33
34| Path | What |
35|------|------|
36| `server/` | CLI prototype — one file per use-case area |
37| `server/db/schema_creation.sql` | DDL: drops + recreates the `project` schema (P2) |
38| `server/db/data_load.sql` | DML: truncates + reloads sample data (P2) |
39| `bots/` | Market simulation bot — random-walk trades and 1m candles |
40| `docs/` | All phase documentation, ER diagram, use cases |
41
42Both SQL scripts are embedded into the binary at build time, so `-init` works
43from any working directory.
44
45## Requirements
46
47Go 1.25+, Docker (or any reachable PostgreSQL 14+), and optionally `psql`.
48Editing the ER diagram additionally needs Java and TerraER — see
49[`docs/P4-Prototype/BuildInstructions.md`](docs/P4-Prototype/BuildInstructions.md).
Note: See TracBrowser for help on using the repository browser.