source: docs/README.md

main
Last change on this file was 1549dae, checked in by Stefan <trsunovstefan@…>, 55 minutes ago

Correct P1/P2 consistency (Holdings, WatchlistItems), redo P5 normalization

  • Property mode set to 100644
File size: 6.7 KB
Line 
1# EduBerza
2
3## Short description
4
5*P0 — write 150–200 words here in your own words. AI-generated text is not
6allowed in this phase.*
7
8*Your own Macedonian draft is in [`opis.md`](P0-ProjectDefinition/opis.md); the material to cover is
9what data the database holds (users, crypto assets, markets, orders, holdings,
10transactions, market trades, candles, watchlists), who it is for (beginner
11traders), and what kind of project it is.*
12
13## Team members
14
15- Stefan Trsunov 231285
16
17## Course
18
19Databases in 2025/2026/Winter
20
21## Under the supervision of
22
23Prof. Dr. Vangel V. Ajanovski
24
25## How this folder maps to the wiki
26
27The files here are grouped into one folder per phase for convenience. **The wiki
28is flat** — when you publish, each file becomes a page named exactly after the
29file, with no folder prefix and with capitalisation preserved: `About`,
30`ERModel`, `RelationalDesign`, `UseCaseModel`, `UseCase0001`, …,
31`PrototypeImplementation`, `BuildInstructions`, and the four `*AIUsage` pages.
32Attachments (`ERModel_v05.xml`, `ERModel_v05.png`, `schema_creation.sql`,
33`data_load.sql`, `relational_diagram_v4.png`, the screenshots) attach to the page
34that documents them.
35
36| Folder | Phase | Wiki pages produced |
37|--------|-------|---------------------|
38| `P0-ProjectDefinition/` | P0 | `About` (+ this front page) |
39| `P1-ConceptualModel/` | P1 | `ERModel`, `ERModelAIUsage` |
40| `P2-RelationalDesign/` | P2 | `RelationalDesign`, `RelationalDesignAIUsage` |
41| `P3-UseCaseModel/` | P3 | `UseCaseModel`, `UseCase0001`–`UseCase0007`, `UseCaseModelAIUsage` |
42| `P4-Prototype/` | P4 | `PrototypeImplementation`, `UseCase000XImplementation`, `BuildInstructions`, `PrototypeImplementationAIUsage` |
43| `P5-Normalization/` | P5 | `Normalization`, `NormalizationAIUsage` |
44| `P6-AdvancedReports/` | P6 | `AdvancedReports`, `AdvancedReportsAIUsage` |
45| `P7-AdvancedDatabaseDevelopment/` | P7 | `AdvancedDatabaseDevelopment`, `AdvancedDatabaseDevelopmentAIUsage` |
46
47`Instructions.md` is the condensed course rubric — reference material, not a
48submission. `P0-ProjectDefinition/opis.md` and `P1-ConceptualModel/ep-diagram.md`
49are your own working notes, kept because they are the evidence that the initial
50model was yours before any AI was used.
51
52The two SQL scripts deliberately stay in `server/db/` rather than moving into
53`P2-RelationalDesign/`: they are compiled into the prototype binary with
54`go:embed`, which requires them to sit inside the Go package. Attach them to the
55`RelationalDesign` page from there.
56
57## Content
58
59| Phase | Link | Status |
60|-------|------|--------|
61| P0 | [About](P0-ProjectDefinition/About.md) | Draft — needs your own text |
62| P1 | [ERModel](P1-ConceptualModel/ERModel.md) | Finished, awaiting approval |
63| P2 | [RelationalDesign](P2-RelationalDesign/RelationalDesign.md) | Finished, awaiting approval |
64| P3 | [UseCaseModel](P3-UseCaseModel/UseCaseModel.md) | Finished, awaiting approval |
65| P4 | [PrototypeImplementation](P4-Prototype/PrototypeImplementation.md) | Finished, awaiting approval |
66| P5 | [Normalization](P5-Normalization/Normalization.md) | Finished, awaiting approval |
67| P6 | [AdvancedReports](P6-AdvancedReports/AdvancedReports.md) | Finished, awaiting approval |
68| P7 | [AdvancedDatabaseDevelopment](P7-AdvancedDatabaseDevelopment/AdvancedDatabaseDevelopment.md) | Finished, awaiting approval |
69| P8 | *Advanced Application Development* | Not started |
70| P9 | *Other topics (Performance, Security)* | Not started |
71
72Keep the Status column current yourself — *started → completed → revised →
73approved → final* — after each consultation.
74
75Note: P0–P4 alone are not enough for a passing grade; at least some of P5–P9 are
76required. P5 is the recommended next one.
77
78## Phase attachments
79
80| File | Phase | What |
81|------|-------|------|
82| [`ERModel_v05.xml`](P1-ConceptualModel/ERModel_v05.xml) | P1 | TerraER source, current version |
83| [`ERModel_v05.png`](P1-ConceptualModel/ERModel_v05.png) | P1 | Exported diagram image, current version |
84| [`ERModel_v04.xml`](P1-ConceptualModel/ERModel_v04.xml), [`ERModel_v03.xml`](P1-ConceptualModel/ERModel_v03.xml) | P1 | TerraER source, previous versions (kept per P1 rules) |
85| [`ERModel_v04.png`](P1-ConceptualModel/ERModel_v04.png), [`ERModel_v03.png`](P1-ConceptualModel/ERModel_v03.png) | P1 | Exported diagram images, previous versions |
86| [`ERModel_v02.xml`](P1-ConceptualModel/ERModel_v02.xml) | P1 | TerraER source, previous version (kept per P1 rules) |
87| [`ERModel_v02.png`](P1-ConceptualModel/ERModel_v02.png) | P1 | Exported diagram image, previous version |
88| [`ERModel_v01.xml`](P1-ConceptualModel/ERModel_v01.xml) | P1 | TerraER source, first version (kept per P1 rules) |
89| [`ERModel_v01.png`](P1-ConceptualModel/ERModel_v01.png) | P1 | Exported diagram image, first version |
90| [`../server/db/schema_creation.sql`](../server/db/schema_creation.sql) | P2 | DDL — drops and recreates the `project` schema |
91| [`../server/db/data_load.sql`](../server/db/data_load.sql) | P2 | DML — truncates and reloads sample data |
92| [`relational_diagram_v4.png`](P2-RelationalDesign/relational_diagram_v4.png) | P2 | Relational diagram exported from DBeaver, laid out like `ERModel_v05.png` |
93| [`../server/db/reports_demo_data.sql`](../server/db/reports_demo_data.sql) | P6 | Optional multi-quarter demo data for the two reports (not part of `-init`) |
94| [`../server/db/advanced_db.sql`](../server/db/advanced_db.sql) | P7 | Triggers, functions, views and the background job (part of `-init`) |
95| [`../server/db/advanced_db_tests.sql`](../server/db/advanced_db_tests.sql) | P7 | Tests for every P7 rule, rolled back at the end |
96
97## Use cases (P3)
98
99[UC0001](P3-UseCaseModel/UseCase0001.md) Register ·
100[UC0002](P3-UseCaseModel/UseCase0002.md) Log in ·
101[UC0003](P3-UseCaseModel/UseCase0003.md) Deposit ·
102[UC0004](P3-UseCaseModel/UseCase0004.md) Buy ·
103[UC0005](P3-UseCaseModel/UseCase0005.md) Sell ·
104[UC0006](P3-UseCaseModel/UseCase0006.md) Portfolio ·
105[UC0007](P3-UseCaseModel/UseCase0007.md) Watchlist
106
107## AI usage logs
108
109Required by the phase rules for every phase where AI was used. P0 does not have
110one because AI use is forbidden there.
111
112- [ERModelAIUsage](P1-ConceptualModel/ERModelAIUsage.md) (P1)
113- [RelationalDesignAIUsage](P2-RelationalDesign/RelationalDesignAIUsage.md) (P2)
114- [UseCaseModelAIUsage](P3-UseCaseModel/UseCaseModelAIUsage.md) (P3)
115- [PrototypeImplementationAIUsage](P4-Prototype/PrototypeImplementationAIUsage.md) (P4)
116- [NormalizationAIUsage](P5-Normalization/NormalizationAIUsage.md) (P5)
117- [AdvancedReportsAIUsage](P6-AdvancedReports/AdvancedReportsAIUsage.md) (P6)
118- [AdvancedDatabaseDevelopmentAIUsage](P7-AdvancedDatabaseDevelopment/AdvancedDatabaseDevelopmentAIUsage.md) (P7)
119
120## Build & run
121
122See [BuildInstructions](P4-Prototype/BuildInstructions.md), or [`../README.md`](../README.md)
123for the four-command quick start.
124# bp
Note: See TracBrowser for help on using the repository browser.