Code Monkey home page Code Monkey logo

mobile's Introduction

Chamilo LMS mobile app

This is a Cordova mobile app(1) to get notifications of new messages from the Chamilo LMS campus of your choice and review the content from the main course tools.

The finished application should:

  • Allow you to connect to one or more Chamilo LMS campuses
  • Notify you when you have a new message on the Chamilo LMS campus(es)
  • Store your messages locally (but not allow you to answer just yet)
  • Review the principal tools for courses and sessions

Spirit of this project

This is developed as a side project and it might require a few updates to Chamilo itself for the first version to work (web services in Chamilo will have to be extended for it to work(2)).

Development environment

Clone this repository

git clone [email protected]:chamilo/mobile.git
cd mobile

Add the platforms

cordova platform add android
cordova platform add ios

Add the plugins (support-google-services and firebase-messaging are optionals)

cordova plugin add cordova-plugin-file
cordova plugin add cordova-support-google-services
cordova plugin add cordova-plugin-firebase-messaging

Build the application for the platforms added

cordova build android
cordoba build ios

Execute on an Android device

cordova run android

Enable push notification from Chamilo

Customizing the app

You need configure your project and app in Google's Firebase Console. And download the config files according to the platforms (google-services.json Android and @GoogleService-Info.plist@ for iOS). See the README file for the Google Services plugin.

Edit the config.xml file:

    <platform name="android">
        <!-- ... -->
        <resource-file src="google-services.json" target="app/google-services.json" />
    </platform>
    <platform name="ios">
        <!-- ... -->
        <resource-file src="GoogleService-Info.plist" />
    </platform>

Configuring Chamilo LMS portal

If you'd like to use push notifications (only tested on Android and only available from Chamilo v1.10.4), you will have to enable and set the following parameters in your Chamilo server's:

For Chamilo v1.10.4

//Allow send a push notification when an email are sent
//$_configuration['messaging_allow_send_push_notification'] = 'true';
//Project number in the Google Developer Console
//$_configuration['messaging_gdc_project_number'] = '';
//Api Key in the Google Developer Console
//$_configuration['messaging_gdc_api_key'] = '';

For Chamilo v1.11.x Fill the settings about the Web Services category in Configuration Settings (in administration page)

Contributing

This development is taken as a side-project, so it might advance slowly at first. Please feel free to send Pull Requests through Github, we will review and include them if we feel they're bringing value.

Coding conventions are not clear at this time as we're mainly PHP developers trying out HTML+JS stuff to generate a mobile app, but we have good grounds with PSR-1 and PSR-2, so we will not accept ugly code, but we will comment on it.

mobile's People

Contributors

angelfqc avatar orbisterrarumproliberi avatar aragonc avatar ywarnier avatar

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.