-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
This page provides detailed installation instructions for ExpoScholar.
- Operating System: GNU/Linux or macOS (Windows users can use WSL or a virtual machine)
- Python: 3.11 or later
- Flutter SDK: 3.38.3 or later
- Java: 17 (for Android builds)
- Android SDK: 36
- Android NDK: 27.0.12077973
- Git: Version control system
- GNU Make: Build automation tool
- QEMU: For running an Android virtual machine during development
- Xcode: macOS users need Xcode for iOS builds
- Texinfo tools: For building documentation (makeinfo or texi2any)
Clone the repository:
git clone git@github.com:mkhellat/exposcholar.git
cd exposcholarBefore installing, verify your system meets the requirements:
python3 --version # Should be 3.11 or later
flutter --version # Should be 3.38.3 or later
java -version # Should be 17
git --version
make --versionThe setup script provides a guided installation process:
cd exposcholar
./setup installThis command:
- Validates system requirements
- Installs Python dependencies
- Sets up Flutter dependencies
- Configures development environment
- Creates necessary directories
Install components individually:
./setup server # Install server dependencies only
./setup mobile # Install mobile dependencies onlyFor users familiar with GNU Make:
make setup # Full installation
make setup-server # Server only
make setup-mobile # Mobile onlycd server
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperusercd mobile
flutter pub get
flutter doctorRun the system check:
./setup checkThis validates:
- Python version and installation
- Flutter SDK availability
- Java version
- Android SDK and NDK installation
- QEMU and KVM support (if available)
- Required system tools
If you installed manually, create an admin user:
cd server
python manage.py createsuperuserFor Android development and testing:
./setup start-mobileThis automatically creates and boots a QEMU-based Android virtual machine.
Problem: Python version mismatch
Solution: Ensure Python 3.11+ is installed and active. Use python3 explicitly if both Python 2 and 3 are installed.
Problem: pip not found
Solution: Install pip: python3 -m ensurepip --upgrade
Problem: Flutter not found
Solution: Add Flutter to your PATH or use the full path to the Flutter binary.
Problem: Flutter doctor shows issues
Solution: Follow the recommendations from flutter doctor. Install missing components (Android SDK, Xcode, etc.).
Problem: Android SDK not found
Solution: Set the ANDROID_HOME environment variable:
export ANDROID_HOME=/path/to/android/sdkProblem: Android NDK not found
Solution: Install NDK 27.0.12077973 via Android Studio's SDK Manager or command-line sdkmanager tool.
Problem: Wrong Java version
Solution: Install OpenJDK 17:
# Debian/Ubuntu
sudo apt install openjdk-17-jdk
# macOS (with Homebrew)
brew install openjdk@17After successful installation:
- Start Development Servers: See Development for details
-
Run Tests: Verify installation with
./setup test -
Read Documentation: Build docs with
./setup docs - Explore Codebase: See Architecture for system overview
- Development - Development workflows
- Architecture - System architecture
- Troubleshooting - Common issues and solutions