You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> **Note:** Czech version is available below / Česká verze je k dispozici níže
3
+
Šablona pro vývoj aplikace v soutěži Tour de App společně s frontendovou částí ve frameworku [Vue](https://vuejs.org/), a backendovou částí v [Express](https://expressjs.com/).
4
4
5
-
A template for developing applications for the Tour de App competition with a frontend in [Vue](https://vuejs.org/) and a backend in [Express](https://expressjs.com/).
6
-
7
-
## Initial Setup
5
+
## Prvotní nastavení
8
6
9
-
In the frontend and backend directories, there are `.env.example`files that need to be renamed to `.env`and the values adjusted as needed.
7
+
V složkách pro frontend a backend jsou `.env.example`soubory, které je potřeba přejmenovat na `.env`a upravit hodnoty dle potřeby.
10
8
11
-
For production development, you need to set `VITE_API_URL`to the API server URL in the `tourdeapp.yaml`file to the URL you find on the main page of your project on[tourde.cloud](https://tourde.cloud/).
9
+
Pro produkční vývoj je potřeba nastavit `VITE_API_URL`na URL API serveru v souboru `tourdeapp.yaml`na URL kterou najdete na hlavní stránce Vašeho projektu na[tourde.cloud](https://tourde.cloud/).
12
10
13
11
> [!WARNING]
14
-
> If you want to change the database password, you need to change it in the `tourdeapp.yaml` file, `apps/server/.env`, and for local development in the`apps/server/package.json` file.
12
+
> Pokud chcete měnit heslo od databáze, je potřeba ho změnit v souboru `tourdeapp.yaml`, `apps/server/.env` a pro lokální vývoj v souboru`apps/server/package.json`.
15
13
16
-
## Local Development
14
+
## Lokální vývoj
17
15
18
-
For local development, you need to run:
19
-
-**frontend** (`apps/web`), using `npm run dev` (in the correct directory - `apps/web`), it will start at [http://localhost:3001](http://localhost:3001)
20
-
-**backend** (`apps/server`), using `npm run dev` (in the correct directory - `apps/server`), it will start at [http://localhost:3000](http://localhost:3000)
21
-
-**MySQL** database, which is defined in `docker-compose.yaml`, using `npm run db` (in the `apps/server` directory), the database will run on port 3306
16
+
Pro lokální vývoj je potřeba spustit tři služby: databázi, backend a frontend. Níže najdete podrobné instrukce krok za krokem.
22
17
23
-
> [!WARNING]
24
-
> The database is not persistent, data will be lost after shutting down the Docker container.
## Production Setup (how does it run on our servers?)
20
+
Nejprve je potřeba nastavit environmentální proměnné:
27
21
28
-
How the application runs on [tourde.cloud](https://tourde.cloud/) is defined in the `tourdeapp.yaml` file in the root directory of this repository. This boilerplate includes pre-configured services:
29
-
```
30
-
- caddy (reverse proxy for frontend and backend) - handles routing requests to your application to the correct place (i.e., /* to frontend and /api/* to backend)
31
-
- web (frontend application)
32
-
- server (backend application)
33
-
- mysql (MySQL database)
34
-
```
22
+
1.**Backend**: V adresáři `apps/server` přejmenujte soubor `.env.example` na `.env`:
23
+
```bash
24
+
cd apps/server
25
+
cp .env.example .env
26
+
```
35
27
36
-
> [!WARNING]
37
-
> The database is not persistent, data will be lost after uploading a new version of the application.
28
+
2.**Frontend**: V adresáři `apps/web` přejmenujte soubor `.env.example` na `.env`:
29
+
```bash
30
+
cd ../web
31
+
cp .env.example .env
32
+
```
38
33
39
-
> [!NOTE]
40
-
> The reverse proxy is set by default so that requests to `/*` go to the frontend and `/api/*` to the backend. If you want to have the API on different addresses, you need to change the `Caddyfile` file in the `apps/caddy` directory.
34
+
### Krok 2: Instalace závislostí
41
35
42
-
What `tourdeapp.yaml` can contain is described in [How to deploy an app to Tour de Cloud](https://tourdeapp.com/study-materials/how-to-deploy).
36
+
Nainstalujte závislosti pro obě části aplikace:
43
37
44
-
Applications are uploaded to Tour de Cloud via [GitHub action](https://github.com/Student-Cyber-Games/upload-app?tab=readme-ov-file). For uploading, you need to set **TDC_TOKEN**:
45
-
- Settings -> (Security) Secrets and variables -> Actions -> New repository secret.
46
-
- Name: `TDC_TOKEN` Secret: [your secret generated in [tourde.cloud](https://tourde.cloud/)]
38
+
1.**Backend závislosti**:
39
+
```bash
40
+
cd apps/server
41
+
npm install
42
+
```
47
43
44
+
2.**Frontend závislosti**:
45
+
```bash
46
+
cd ../web
47
+
npm install
48
+
```
48
49
49
-
### Prerequisites
50
+
### Krok 3: Spuštění MySQL databáze
50
51
51
-
#### Windows
52
+
Databázi spustíte pomocí Docker kontejneru:
52
53
53
-
- Installed [WSL2 (Windows Subsystem for Linux)](https://learn.microsoft.com/en-us/windows/wsl/install)
54
-
- Installed and running [Docker](https://www.docker.com/)
- Installed [npm](https://www.npmjs.com/get-npm) (usually included with Node.js)
61
+
> [!WARNING]
62
+
> Databáze není perzistentní, data se z ní po vypnutí Docker kontejneru ztratí.
63
63
64
-
## Submission
64
+
> [!TIP]
65
+
> Pokud potřebujete databázi zastavit, použijte příkaz `docker ps` pro zobrazení běžících kontejnerů a `docker stop <container-id>` pro zastavení kontejneru s databází.
65
66
66
-
How to submit your application can be found in our [How to deploy an app to Tour de Cloud](https://tourdeapp.com/study-materials/how-to-deploy)
67
+
### Krok 4: Spuštění backend serveru
67
68
68
-
---
69
+
V novém terminálu spusťte backend:
69
70
70
-
# Tour de App - Vue + Express Boilerplate
71
+
```bash
72
+
cd apps/server
73
+
npm run dev
74
+
```
71
75
72
-
**Česká verze / Czech Version**
76
+
Backend poběží na [http://localhost:3000](http://localhost:3000). Měli byste vidět zprávu, že server běží a je připojen k databázi.
73
77
74
-
Šablona pro vývoj aplikace v soutěži Tour de App společně s frontendovou částí ve frameworku [Vue](https://vuejs.org/) a backendovou částí v [Express](https://expressjs.com/).
78
+
### Krok 5: Spuštění frontend aplikace
75
79
76
-
## Prvotní nastavení
80
+
V dalším terminálu spusťte frontend:
77
81
78
-
V složkách pro frontend a backend jsou `.env.example` soubory, které je potřeba přejmenovat na `.env` a upravit hodnoty dle potřeby.
82
+
```bash
83
+
cd apps/web
84
+
npm run dev
85
+
```
79
86
80
-
Pro produkční vývoj je potřeba nastavit `VITE_API_URL`na URL API serveru v souboru `tourdeapp.yaml` na URL, kterou najdete na hlavní stránce Vašeho projektu na [tourde.cloud](https://tourde.cloud/).
87
+
Frontend poběží na [http://localhost:3001](http://localhost:3001). Otevřete tuto adresu v prohlížeči.
81
88
82
-
> [!WARNING]
83
-
> Pokud chcete měnit heslo od databáze, je potřeba ho změnit v souboru `tourdeapp.yaml`, `apps/server/.env` a pro lokální vývoj v souboru `apps/server/package.json`.
89
+
### Ověření, že vše funguje
84
90
85
-
## Lokální vývoj
91
+
1.**Frontend**: Otevřete [http://localhost:3001](http://localhost:3001) - měla by se zobrazit vaše aplikace
92
+
2.**Backend API**: Otevřete [http://localhost:3000/api](http://localhost:3000/api) - měli byste vidět odpověď z API
93
+
3.**Databáze**: Můžete se připojit pomocí MySQL klienta na `localhost:3306` s uživatelským jménem `root` a heslem `password`
86
94
87
-
Pro lokální vývoj je potřeba pustit:
88
-
-**frontend** (`apps/web`), pomocí `npm run dev` (ve správném adresáři - `apps/web`), pustí se na [http://localhost:3001](http://localhost:3001)
89
-
-**backend** (`apps/server`), pomocí `npm run dev` (ve správném adresáři - `apps/server`), pustí se na [http://localhost:3000](http://localhost:3000)
90
-
-**MySQL** databázi, která je definována v `docker-compose.yaml`, pomocí `npm run db` (v adresáři `apps/server`), databáze poběží na portu 3306
95
+
### Řešení problémů
91
96
92
-
> [!WARNING]
93
-
> Databáze není perzistentní, data se z ní po vypnutí Docker kontejneru ztratí.
97
+
-**Port již používán**: Pokud některý z portů (3000, 3001, 3306) je již používán, ukončete proces, který ho používá, nebo změňte port v konfiguračních souborech
98
+
-**Databáze se nespustí**: Zkontrolujte, zda máte nainstalovaný a spuštěný Docker
99
+
-**Backend se nemůže připojit k databázi**: Počkejte, až se databáze plně inicializuje (obvykle trvá 10-20 sekund po spuštění)
100
+
-**Node.js není nainstalován**: Nainstalujte Node.js z [nodejs.org](https://nodejs.org/) nebo použijte správce verzí jako `nvm` (Linux/MacOS: `curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash`, Windows: stáhněte z [nvm-windows](https://github.com/coreybutler/nvm-windows))
94
101
95
102
## Produkční setup (jak se to spouští na našich serverech?)
96
103
97
-
Jak se aplikace spustí na [tourde.cloud](https://tourde.cloud/) je definováno v souboru `tourdeapp.yaml` v kořenovém adresáři tohoto repozitáře. V tomto boilerplate jsou předpřipravené služby:
104
+
Jak se aplikace spustí na [tourde.cloud](https://tourde.cloud/) je definováno v souboru `tourdeapp.yaml` v kořenovém adresáři tohoto repozitáře. V tomto boiler plate jsou předpřipravené služby:
98
105
```
99
-
- caddy (reverse proxy pro frontend a backend) - stará se o to, aby dotazy na Vaší aplikaci byly směrovány na správné místo (tj. /* na frontend a /api/* na backend)
106
+
- caddy (reverse proxy pro frontend a backend) - stará se o to aby dotazy na Vaší aplikaci byly směrovány na správné místo (tj. /* na frontend a /api/* na backend)
100
107
- web (frontend aplikace)
101
108
- server (backend aplikace)
102
109
- mysql (MySQL databáze)
@@ -106,11 +113,11 @@ Jak se aplikace spustí na [tourde.cloud](https://tourde.cloud/) je definováno
106
113
> Databáze není perzistentní, data se z ní po nahrání nové verze aplikace ztratí.
107
114
108
115
> [!NOTE]
109
-
> Reverse proxy je defaultně nastaven tak, že dotazy na `/*` jdou na frontend a `/api/*`na backend. Pokud byste chtěli API mít na jiných adresách, je nutné změnit soubor `Caddyfile` v adresáři `apps/caddy`.
116
+
> Reverse proxy je defaultně nastaven tak, že dotazy na `/*` jdou na frontend a `/api/*`pokud by jste chtěli api mít na jiné adresy je nutné změnit soubor `Caddyfile` v adresáři `apps/caddy`.
110
117
111
-
Co může `tourdeapp.yaml` obsahovat je napsáno v [Jak nasadit aplikaci na Tour de Cloud](https://tourdeapp.cz/vzdelavaci-materialy/jak-deploy).
118
+
Co může `tourdeapp.yaml` obsahovat je napsáno v [kde??]().
112
119
113
-
Do Tour de Cloud se aplikace nahrávají přes [GitHub action](https://github.com/Student-Cyber-Games/upload-app?tab=readme-ov-file). Pro nahrání je potřeba zadat **TDC_TOKEN**:
120
+
Do Tour de Cloud se aplikace nahrávají přes [GitHub action](https://github.com/Student-Cyber-Games/upload-app?tab=readme-ov-file), pro nahrání je potřeba zadat **TDC_TOKEN**:
114
121
- Settings -> (Security) Secrets and variables -> Actions -> New repository secret.
115
122
- Name: `TDC_TOKEN` Secret: [váš secret vygenerovaný v [tourde.cloud](https://tourde.cloud/)]
116
123
@@ -132,4 +139,5 @@ Do Tour de Cloud se aplikace nahrávají přes [GitHub action](https://github.co
132
139
133
140
## Odevzdání
134
141
135
-
Jak odevzdat svoji aplikaci můžete najít v našich [Jak nasadit aplikaci na Tour de Cloud](https://tourdeapp.cz/vzdelavaci-materialy/jak-deploy)
142
+
Jak odevzdat svojí aplikaci můžete najít v našich [kde??]()
0 commit comments