GUI-oriented project created for the ITU (User Interface Programming) class.
The project consists of:
- Backend – Python + Flask API
- Frontend – React application (Vite dev server)
- Windows 10 or Windows 11
- Internet connection (for installing dependencies)
- Terminal / Command Prompt / PowerShell
The project documentation includes the following design files:
- Design Proposal – initial design concept.
- Final Design – finalized design after implementation.
Required for running the backend server.
-
Download Python for Windows
https://www.python.org/downloads/windows/ -
Run the installer.
-
Important: during installation check the option
Add Python to PATH -
Verify installation:
python --version -
Install required backend libraries:
pip install flask flask-cors
Required for running the React frontend.
-
Download Node.js
https://nodejs.org/en/download -
Install using the official installer.
-
The installer should automatically add Node.js and npm to PATH.
-
Verify installation:
node --version npm --version -
Install frontend dependencies:
Navigate into the frontend directory:
cd frontend npm install
npm install axios
npm install react-router-dom
npm create vite@latest frontend -- --template react
The backend and frontend must be started separately in two terminals.
Navigate to the backend folder:
cd backend
Run the server:
python server.py
The backend should start on its configured local port.
Open a second terminal and navigate to the frontend folder:
cd frontend
Start the development server:
npm run dev
Vite will compile the frontend and start a local development server.
After both servers are running, open (port may vary):
http://localhost:5173
- Both backend and frontend must be running simultaneously.
- If dependencies fail to install, ensure Python and Node.js were correctly added to PATH.
│ Achievements.jsx (Jaroslav Mervart)
│ App.jsx (Jaroslav Mervart)
│ Breaker.jsx (Šimon Dufek)
│ breaker_levels.js (Šimon Dufek)
│ Inventory.jsx (Šimon Dufek)
│ main.jsx
│ Pinball.jsx (Pavel Hýža)
│ PizzaBaking.jsx (Šimon Dufek)
│ PizzaDecor.jsx (Šimon Dufek)
│ Settings.jsx (Jaroslav Mervart)
│ Solitaire.jsx (Jaroslav Mervart)
│ Wallball.jsx (Pavel Hýža)
│ wallball_levels.js (Pavel Hýža)
│
├───assets
│
├───controllers
│ achievementController.js (Jaroslav Mervart)
│ breakerController.js (Šimon Dufek)
│ kimiController.js (Jaroslav Mervart)
│ pinballController.js (Pavel Hýža)
│ pizzaController.js (Šimon Dufek)
│ sceneController.js (Jaroslav Mervart)
│ solitaireController.js (Jaroslav Mervart)
│ wallballController.js (Pavel Hýža)
│
├───meta_components
│ AchievementBox.jsx (Jaroslav Mervart)
│ AchievementContext.jsx (Jaroslav Mervart)
│ AchievementInfo.jsx (Jaroslav Mervart)
│ Header.jsx (Jaroslav Mervart)
│ KimiStatus.jsx (Jaroslav Mervart)
│ Scene.jsx (Jaroslav Mervart)
│ SceneCarousel.jsx (Jaroslav Mervart)
│ SceneObject.jsx (Jaroslav Mervart)
│ SolitaireCard.jsx (Jaroslav Mervart)
│ StatusBar.jsx (Jaroslav Mervart)
│
├───models
│ achievementModel.js (Jaroslav Mervart)
│ breakerModel.js (Šimon Dufek)
│ kimiModel.js (Jaroslav Mervart)
│ kimiMoodModel.js (Jaroslav Mervart)
│ pinballModel.js (Pavel Hýža)
│ pizzaModel.js (Šimon Dufek)
│ sceneModel.js (Jaroslav Mervart)
│ settingsModel.js (Jaroslav Mervart)
│ solitaireModel.js (Jaroslav Mervart)
│ solitaireProgressModel.js (Jaroslav Mervart)
│ wallballModel.js (Pavel Hýža)
│
└───styles
AchievementBox.css (Jaroslav Mervart)
AchievementInfo.css (Jaroslav Mervart)
Achievements.css (Jaroslav Mervart)
App.css (Jaroslav Mervart, Šimon Dufek, Pavel Hýža)
Breaker.css (Šimon Dufek)
Header.css (Jaroslav Mervart)
index.css
Inventory.css (Šimon Dufek)
KimiStatus.css (Jaroslav Mervart)
Pinball.css (Pavel Hýža)
PizzaBaking.css (Šimon Dufek)
PizzaDecor.css (Šimon Dufek)
SceneCarousel.css (Jaroslav Mervart)
Settings.css (Jaroslav Mervart)
Solitaire.css (Jaroslav Mervart)
StatusBar.css (Jaroslav Mervart, Veronika Kubová)
Utils.css (Jaroslav Mervart)
Wallball.css (Pavel Hýža)47 – 50 points





