GithubHelp home page GithubHelp logo

mathebuddy / mathebuddy Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 1.0 70.07 MB

a gamified learning app for higher math

License: GNU General Public License v3.0

Shell 1.75% Dart 88.59% Python 1.36% Kotlin 0.02% Swift 0.23% Objective-C 0.01% CMake 3.08% C++ 3.80% C 0.23% HTML 0.47% Ruby 0.45%
android-app app dsl e-learning elearning-system flutter gamification ios-app math math-programming

mathebuddy's Introduction

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 [email protected]:mathebuddy/mathebuddy.git
git clone [email protected]:mathebuddy/mathebuddy-public-courses.git
git clone [email protected]: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

mathebuddy's People

Contributors

andreas-schwenk avatar mathebuddy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

visioninhope

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.