Skip to content

Commit 0190f45

Browse files
authored
Merge pull request #1 from Student-Cyber-Games/update-readme-instructions
docs: Add detailed run instructions to README
2 parents 0723cd6 + 723757b commit 0190f45

1 file changed

Lines changed: 73 additions & 65 deletions

File tree

README.md

Lines changed: 73 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,109 @@
1-
# Tour de App - Vue + Express Boilerplate
1+
# Tour de App - Vue + Express boiler plate
22

3-
> **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/).
44

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í
86

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.
108

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/).
1210

1311
> [!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`.
1513
16-
## Local Development
14+
## Lokální vývoj
1715

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.
2217

23-
> [!WARNING]
24-
> The database is not persistent, data will be lost after shutting down the Docker container.
18+
### Krok 1: Nastavení environmentálních proměnných
2519

26-
## Production Setup (how does it run on our servers?)
20+
Nejprve je potřeba nastavit environmentální proměnné:
2721

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+
```
3527

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+
```
3833

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í
4135

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:
4337

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+
```
4743

44+
2. **Frontend závislosti**:
45+
```bash
46+
cd ../web
47+
npm install
48+
```
4849

49-
### Prerequisites
50+
### Krok 3: Spuštění MySQL databáze
5051

51-
#### Windows
52+
Databázi spustíte pomocí Docker kontejneru:
5253

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/)
55-
- Installed [Node.js](https://nodejs.org/en/download/)
56-
- Installed [npm](https://www.npmjs.com/get-npm) (usually included with Node.js)
54+
```bash
55+
cd apps/server
56+
npm run db
57+
```
5758

58-
#### Linux / MacOS
59+
Databáze poběží na portu **3306**. Počkejte několik sekund, než se databáze plně inicializuje (obvykle 10-20 sekund).
5960

60-
- Installed and running [Docker](https://www.docker.com/)
61-
- Installed [Node.js](https://nodejs.org/en/download/)
62-
- 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í.
6363
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í.
6566
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
6768

68-
---
69+
V novém terminálu spusťte backend:
6970

70-
# Tour de App - Vue + Express Boilerplate
71+
```bash
72+
cd apps/server
73+
npm run dev
74+
```
7175

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.
7377

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
7579

76-
## Prvotní nastavení
80+
V dalším terminálu spusťte frontend:
7781

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+
```
7986

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.
8188

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
8490

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`
8694

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ů
9196

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))
94101

95102
## Produkční setup (jak se to spouští na našich serverech?)
96103

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:
98105
```
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)
100107
- web (frontend aplikace)
101108
- server (backend aplikace)
102109
- mysql (MySQL databáze)
@@ -106,11 +113,11 @@ Jak se aplikace spustí na [tourde.cloud](https://tourde.cloud/) je definováno
106113
> Databáze není perzistentní, data se z ní po nahrání nové verze aplikace ztratí.
107114
108115
> [!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`.
110117
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??]().
112119

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**:
114121
- Settings -> (Security) Secrets and variables -> Actions -> New repository secret.
115122
- Name: `TDC_TOKEN` Secret: [váš secret vygenerovaný v [tourde.cloud](https://tourde.cloud/)]
116123

@@ -132,4 +139,5 @@ Do Tour de Cloud se aplikace nahrávají přes [GitHub action](https://github.co
132139

133140
## Odevzdání
134141

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??]()
143+

0 commit comments

Comments
 (0)