Complete step-by-step instructions for setting up Speedcube Training Explorer on your system.
Before you begin, make sure you have:
- Python 3.8 or higher - Download Python
- During installation on Windows, check "Add Python to PATH"
- macOS/Linux usually comes with Python 3 pre-installed
- pip (Python package manager) - Comes with Python
- Modern web browser - Chrome, Firefox, Safari, or Edge
- Git (optional) - For cloning the repository
The easiest way to get started! The installer scripts handle everything automatically.
-
Download or clone the repository:
git clone https://github.com/havl-code/speedcube-training-explorer.git cd speedcube-training-explorerOr download the ZIP file and extract it.
-
Run the installer:
- Double-click
install.bat, or - Open Command Prompt in the project folder and run:
install.bat
- Double-click
-
Start the app:
- Double-click
start.bat, or - Run in Command Prompt:
start.bat
- Double-click
-
The app opens automatically in your browser at
http://localhost:5000
Windows Users Note:
- If you see security warnings when running
.batfiles, click "More info" → "Run anyway"- Allow Python through Windows Firewall when prompted (required for the web server)
- If browser opens to a blank page, wait 2-3 seconds and refresh (F5) - the server needs time to start
-
Download or clone the repository:
git clone https://github.com/havl-code/speedcube-training-explorer.git cd speedcube-training-explorer -
Make scripts executable:
chmod +x install.sh start.sh
-
Run the installer:
./install.sh
-
Start the app:
./start.sh
-
The app opens automatically in your browser at
http://localhost:5000
If you prefer to set things up manually or the scripts don't work on your system:
git clone https://github.com/havl-code/speedcube-training-explorer.git
cd speedcube-training-explorerOr download the ZIP file and extract it.
Windows:
python -m venv venv
venv\Scripts\activatemacOS/Linux:
python3 -m venv venv
source venv/bin/activateYou should see (venv) in your terminal prompt.
pip install -r requirements.txtThis installs:
- Flask (web framework)
- flask-cors (CORS support)
- pandas (data processing)
- requests (HTTP client)
- PyYAML (YAML parsing)
Windows:
mkdir data
mkdir data\cache
mkdir data\processed
mkdir data\rawmacOS/Linux:
mkdir -p data/cache data/processed data/rawpython -m src.python.db_managerThis creates the SQLite database and all necessary tables.
Option A: Using main.py (recommended)
python main.pyOption B: Direct Flask server
python website_server.pyNavigate to http://localhost:5000 in your web browser.
Windows:
start.batmacOS/Linux:
./start.shMake sure your virtual environment is activated, then:
python main.pyOr:
python website_server.pyThe app will be available at http://localhost:5000
If you need to reset or initialize the database:
python main.py --init-dbOr:
python -m src.python.db_managerThe SQLite database is stored at:
- Windows:
data\speedcube_training.db - macOS/Linux:
data/speedcube_training.db
You can back up your data by copying this file.
The app runs on port 5000 by default. To change it:
- Open
website_server.py - Find the line:
app.run(debug=True, host='0.0.0.0', port=5000)
- Change
port=5000to your desired port - Update the URL in your browser accordingly
By default, the app is accessible at localhost (127.0.0.1). To make it accessible on your network:
- Open
website_server.py - Change
host='0.0.0.0'(already set for network access) - Access from other devices using your computer's IP address:
http://YOUR_IP:5000
Windows:
- Make sure Python is installed and added to PATH
- Try
pyinstead ofpython:py -m venv venv py -m pip install -r requirements.txt
macOS/Linux:
- Use
python3instead ofpython:python3 -m venv venv python3 -m pip install -r requirements.txt
If you see "Port 5000 is already in use":
-
Check if the app is already running:
- Look for a terminal window with the server running
- Check Task Manager (Windows) or Activity Monitor (macOS) for Python processes
-
Kill the existing process:
- Windows:
taskkill /F /IM python.exe - macOS/Linux:
pkill -f website_server.py
- Windows:
-
Or change the port (see Configuration section above)
Windows:
- If activation fails, try:
venv\Scripts\activate.bat
macOS/Linux:
- If activation fails, try:
source venv/bin/activate
If you see database-related errors:
-
Reinitialize the database:
python main.py --init-db
-
Check file permissions:
- Make sure the
data/directory is writable - On Linux/macOS, you might need:
chmod -R 755 data/
- Make sure the
If you see "ModuleNotFoundError":
-
Make sure virtual environment is activated:
- You should see
(venv)in your terminal prompt
- You should see
-
Reinstall dependencies:
pip install -r requirements.txt
-
Check Python path:
- Make sure you're running Python from the virtual environment:
which python # macOS/Linux where python # Windows
- Should point to
venv/bin/pythonorvenv\Scripts\python.exe
- Make sure you're running Python from the virtual environment:
- Wait a few seconds - The server needs time to start
- Refresh the page (F5 or Ctrl+R)
- Check the terminal for error messages
- Verify the server is running:
- You should see "Starting server..." in the terminal
- Try accessing
http://localhost:5000directly
If the app doesn't start on Windows:
-
Allow Python through Firewall:
- Windows Security → Firewall & network protection
- Allow an app through firewall
- Add Python or allow Python when prompted
-
Or temporarily disable firewall for testing (not recommended for production)
To update to the latest version:
-
Pull latest changes:
git pull
-
Update dependencies:
pip install -r requirements.txt --upgrade
-
Restart the application
To completely remove the application:
- Delete the project folder
- That's it! All data is stored locally in the
data/folder, so deleting the project removes everything.
If you want to keep your data:
- Copy
data/speedcube_training.dbbefore deleting - Restore it when you reinstall
If you're still having issues:
- Check the README.md for general information
- Open an issue on GitHub: Report a bug
- Check existing issues to see if your problem has been reported
Happy Installing! 🎲
Once installed, head back to the README.md to learn how to use the app.