Skip to content

mathebuddy/mathebuddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mathe:buddy

Official website with simulator and playgrounds: https://mathebuddy.github.io/mathebuddy/

Users and Content Creators Info

  • If you only like to use playgrounds or test the simulator with example files, there is no need to install anything. Just visit https://mathebuddy.github.io/mathebuddy/

  • If you like to create and test your own courses, visit the website, head to simulator and click on button http://localhost:8271. Then follow the instructions listed.

Developers Info

This repository implements all components of the mathe:buddy app.

File Structure

Path Description
.vscode/ Visual Code Project Settings
app/ Implementation of the App with Flutter
bin/ Scripts
docs/ Website: https://mathebuddy.github.io/mathebuddy/
docs/doc/ Documentation of SMPL, MBL, MBCL
ext/ External Components
img/ Original image files
lib/ Implementation of components (math-runtime, ...)
cmd.sh Administration script for developers
web.sh Starts the webserver locally
mathebuddy.code-workspace Workspace for VSCode

Head to the README.md files in the subdirectories for more information.

Installation

Other operating systems than Debian and macOS are not yet supported. Only macOS allows to build an iOS version of the app.

Dependencies

IMPORTANT: If you only like to run the webserver locally (including all playgrounds and the simulator), you only need to install Python 3. The repository delivers up-to-date built libraries in the docs/ directory.

Note: Android and XCode can be skipped, if you only like to compile and run mathe:buddy simulator. pandoc can be skipped if you do not intend to build the manuals.

  • Debian based Linux (e.g. Ubuntu)

    sudo apt install python3 snapd pandoc
    sudo snap install flutter --classic
    
  • macOS

    First install the brew package manager.

    brew install git python3 flutter pandoc
    

Then run flutter doctor in a terminal window and install all listed dependencies.

  • macOS

    Install Xcode from the App Store and start the application to complete the installation. Then run the following commands from a terminal.

    xcode-select --install
    sudo gem install cocoapods
    brew install --cask android-studio
    brew install bundletool
    

    Run the application Android Studio.app, agree to the licenses and complete the setup. In Android Studio Settings, Choose Appearance & Behavior, System Settings, Android SDK and select in tab [SDK Platforms] (e.g.) Android 13. Then select in tab [SDK Tools] Android SDK Command-line Tools (latest). Click on the Accept button to start the installation.

    In a terminal, run flutter doctor --android-licenses and accept each license with y. Then run flutter doctor again to check installation.

    In case that you do not have no Java runtime, run brew install openjdk to install it. Homebrew will output that you have to run echo 'export PATH="/opt/homebrew/opt/openjdk/bin:$PATH"' >> ~/.zshrc. Do it!

    A recent bug (flutter/flutter#118502) may list Java Errors. Run the following (ugly!) fix:

    cd /Applications/Android\ Studio.app/Contents
    cp -r jbr jre
    

Getting mathe:buddy

You now need to clone the following mathe:buddy repositories. Replace YOUR_FAVORITE_DIRECTORY by a local directory on your disk.

TIP: use GitHub Desktop to clone the repositories (refer to the end of this document).

cd YOUR_FAVORITE_DIRECTORY
git clone https://github.com/mathebuddy/mathebuddy.git
git clone https://github.com/mathebuddy/mathebuddy-public-courses.git

Developers of the core team should use a SSH key pair; see https://docs.github.com/en/authentication/connecting-to-github-with-ssh; and also clone the private repository:

cd YOUR_FAVORITE_DIRECTORY
git clone git@github.com:mathebuddy/mathebuddy.git
git clone git@github.com:mathebuddy/mathebuddy-public-courses.git
git clone git@github.com:mathebuddy/mathebuddy-private-courses.git

WARNING: Never(!!) clone to iCloud / GoogleDrive / OneDrive / NextCloud / Sciebo / ...!

Running the website locally

Run the following commands:

cd YOUR_FAVORITE_DIRECTORY/mathebuddy/docs
python3 -m http.server 8314

Open http://localhost:8314/ in your favorite browser. You may choose some other port than 8314.

Alternatively, you may also use script ./web.sh (or the admin tool ./cmd.sh) in the root directory of the repository.

cd YOUR_FAVORITE_DIRECTORY/mathebuddy
./web.sh

Build

We use VSCode for editing source code. Make sure you install ALL recommended extensions: Open the mathebuddy repository in VSCode, then click on Extensions on the left symbol div. Type @recommended in the search field. Then click on Install on each extension that is not yet installed.

(TODO: this section will be extended soon...)

Repository List