Skip to content

Commit c179daf

Browse files
authored
Merge pull request #320 from pyladies/docs/add-services-diagram
Add infrastructure diagram to readme
2 parents 4fd0300 + f8da0bd commit c179daf

File tree

2 files changed

+68
-0
lines changed

2 files changed

+68
-0
lines changed

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,18 @@ This repository contains the content for the main PyLadiesCon website
44
that serve as an index for the many resources that the conference has;
55
including the blog, the documentation, and static website for each year.
66

7+
## Services Overview
8+
9+
The following Mermaid diagram shows how the PyLadiesCon services interact with each other and with external services like Pretalx, Discord, and YouTube.
10+
11+
See it rendered here: [Infrastructure Diagram](./src/content/docs/resources/infrastructure-diagram.md)
12+
713
## Development
814

915
First install [pnpm](https://pnpm.io/installation) if you don't have it already.
1016

1117
Then install the dependencies and start the development server:
18+
1219
```
1320
pnpm install
1421
pnpm dev
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
title: "Infrastructure Diagram"
3+
---
4+
5+
```mermaid
6+
flowchart TB
7+
subgraph External["External Services"]
8+
Pretalx["🎤 Pretalx<br/>(CFP & Schedule)"]
9+
Pretix["🎫 Pretix<br/>(Ticketing)"]
10+
Discord["💬 Discord<br/>(Platform)"]
11+
YouTube["📺 YouTube<br/>(Livestreams)"]
12+
Netlify["🌐 Netlify<br/>(Hosting)"]
13+
end
14+
15+
subgraph PyLadiesCon["PyLadiesCon Services"]
16+
subgraph Websites["Static Websites (Astro)"]
17+
MainSite["📄 global-conference<br/>Main Site Index"]
18+
Site2025["📄 global-conference-2025<br/>2025 Conference Site"]
19+
end
20+
21+
ProgramAPI["⚙️ global-conference-programapi<br/>Static JSON API"]
22+
23+
Portal["🖥️ pyladiescon-portal<br/>Django Web Portal"]
24+
25+
subgraph VPS["VPS"]
26+
DiscordBot["🤖 global-conference-discord<br/>pyladiesconbot"]
27+
Infra["🎮 global-conference-infra<br/>Game & Utilities"]
28+
end
29+
end
30+
31+
%% Program API flow
32+
Pretalx -->|"Download sessions,<br/>speakers, schedule"| ProgramAPI
33+
ProgramAPI -->|"speakers.json<br/>sessions.json<br/>schedule.json"| Site2025
34+
ProgramAPI -->|"schedule.json"| DiscordBot
35+
36+
%% Discord Bot flow
37+
Pretix -->|"Ticket validation<br/>for registration"| DiscordBot
38+
DiscordBot <-->|"Registration<br/>Session notifications<br/>Role management"| Discord
39+
YouTube -.->|"Livestream URLs<br/>(manual config)"| DiscordBot
40+
41+
%% Infrastructure game
42+
Infra <-->|"Game bot"| Discord
43+
44+
%% Hosting
45+
MainSite -.-> Netlify
46+
Site2025 -.-> Netlify
47+
48+
%% Links to repos
49+
click MainSite "https://github.com/pyladies/global-conference" _blank
50+
click Site2025 "https://github.com/pyladies/global-conference-2025" _blank
51+
click ProgramAPI "https://github.com/pyladies/global-conference-programapi" _blank
52+
click Portal "https://github.com/pyladies/pyladiescon-portal" _blank
53+
click DiscordBot "https://github.com/pyladies/global-conference-discord" _blank
54+
click Infra "https://github.com/pyladies/global-conference-infra" _blank
55+
56+
%% Styling
57+
style External fill:#f8fafc,stroke:#94a3b8
58+
style PyLadiesCon fill:#fefce8,stroke:#ca8a04
59+
style Websites fill:#eff6ff,stroke:#3b82f6
60+
style VPS fill:#fef3c7,stroke:#f59e0b
61+
```

0 commit comments

Comments
 (0)