Giter VIP home page Giter VIP logo

buildmlearn-toolkit-android's Introduction

Preview the app Build Status Codacy Badge

BuildmLearn-Toolkit-Android

This repository contains the Android version of the BuildmLearn Toolkit. BuildmLearn Toolkit app is an easy-to-use android app that helps the users make another mobile apps without any knowledge of android application development. The toolkit helps creating mobile application with various functionality and allows teachers to input their custom content. Targeted at teachers, this toolkit helps them make learning fun and engaging through mobile apps.

Toolkit-mobile-templates contains the template applications of the toolkit.

Application Screenshots

Development Setup

  1. Go to the project repo and click the Fork button
  2. Clone your forked repository : git clone [email protected]:your_name/BuildmLearn-Toolkit-Android.git
  3. Move to android project folder cd source-code
  4. Open the project with Android Studio

Glosarry

Folders Description
source-code Android Project Files
ui-design Contains UI mockups and wireframes
[X] source-code/app/src/main/java/org/buildmlearn/toolkit
[X]/activity Contains various activities
[X]/adapters Contains various adapters
[X]/fragment Contains various fragment
[X]/simulator Contains simulator activity
[X]/templates Contains various template activities
[X]/model Contains KeyStoreDetails, SavedProject, TemplateInfos, Tutorial, etc
[X]/utilities Contains various utilities including SignerThread
[X]/views Contains text-view font support for old-backed SDKs
[X]/infotemplate Contains simulator's code for Info Template
[X]/learnspelling Contains simulator's code for learnspelling Template
[X]/flashcardtemplate Contains simulator's code for FlashCard Template
[X]/quiztemplate Contains simulator's code for Quiz Template
[X]/videocollectiontemplate Contains simulator's code for FlashCard Template
[X]/comprehensiontemplate Contains simulator's code for Comprehension Template
[X]/dictationtemplate Contains simulator's code for Dictation Template
[X]/matchtemplate Contains simulator's code for Match Template
[X]/[?]/adapter Contains simulator's adapter for [?] Template
[X]/[?]/data Contains simulator's SQLiteDatabase code for [?] Template
[X]/[?]/fragment Contains simulator's fragment for [?] Template

For complete documentation, please visit: http://buildmlearn.github.io/BuildmLearn-Toolkit-Android/

How to build

All dependencies are defined in source-code/app/build.gradle. Import the project in Android Studio or use Gradle in command line:

./gradlew assembleRelease

The result apk file will be placed in source-code/app/build/outputs/apk/.

#Contribution policy

All contributions should be done in bug-fixes branch. PRs must pass build check on Travis-CI.

License for use and distribution

All the code in this repository (unless specified otherwise) is governed by the BSD (3-Clause) License quoted below.

Copyright (c) 2012, BuildmLearn Contributors listed at http://buildmlearn.org/people/ All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of the BuildmLearn nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Maintainers

The project is maintained by

buildmlearn-toolkit-android's People

Contributors

abhishek1811 avatar ashishg656 avatar batraabhishek avatar chiragw15 avatar codingblazer avatar croozeus avatar gitter-badger avatar ishaan1995 avatar jainkuniya avatar kunall17 avatar kundansingh11 avatar naveenshukla avatar nehadhanwani avatar octacode avatar opticod avatar scopeinfinity avatar shikharbhuddi avatar shreyas29 avatar yadav-rahul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

buildmlearn-toolkit-android's Issues

App Crash When In the templateEditor for quiz, say you have 2 items.

App Crash When In the templateEditor for quiz, say you have 2 items..
Then long click item 2 (position 1).
After that expand item 2 by clicking on expand button in list item 2
After that click on delete and delete item 2.
Now click on the expand button for position 1 (position 2 has been removed now)
It will force close

Solution is here : (@6b5947d81200b9faffe4f959759fb4ce74f79b73)

Two Items Selected in Navigation Drawer

Bug only for front-end.

To replicate bug

Open BuildmLearn Application
Open Navigation Drawer
Goto Settings/Saved Projects
Press Back Button (Application Minimized)
Open BuildmLearn Again
Check Navigation Drawer

It auto-selects Home without resetting previous Selection.

aqua_power_hd_2016-02-28-18-12-00

Import Gradle Issue

When i import the project in Android Studio, Gradle Migration Issue pops up, and all the files are not showing in the Android View. What should I do?

Improvement: Added AutoSave Feature

Autosave feature to save the newly added items to any project.
In default this feature is enabled, In settings we can disable this feature!

autosave

Live Change of Username

Let's say I change username from Settings.
It won't get updated on View until I open Settings again.
It won't get updated on TextView in Navigation Drawer until I restart app again.
screenshot from 2016-02-28 23 13 17

Cant load project on android studio

While loading project on my pc in android studio. I am getting following error :
"Gradle Project refresh failed
Error : connection refused"

Adding personalized Keyboard feature

Currently we have to press back button to hide the soft keyboard,this may be lengthy for users. If we add the feature of hiding the keyboard even when the user clicks away from an input field or tried to scroll ,then it will be more user friendly. Thus increasing usability .

Hint not shown in Flash Template

The user is prompted to enter a Answer Hint in adding a card in Flash Template.

screenshot_2016-01-08-01-31-59

However while running the application in the emulator the hint is not shown anywhere to the user.Nor there is any option to view the Answer Hint.

Change the version of the toolkit to 2.0.0

Let's set a future version number for next release. Plus having a different version in the bug-fixes branch will let us identify actual Crashlytics crash reports. For now all the crashes are tagged as version 1.0.1.

Simulate and Save Template options are added in menu list every time setting button is pressed

When First time setting button is pressed.
screenshot_2016-01-24-12-56-21 1

After setting button is pressed for the second time "Simulate" and "Save Template" options are added in the menu options.
screenshot_2016-02-02-14-56-33 1

After setting button is pressed for third time "Simulate" and "Save Template" options are added again in the menu options.
screenshot_2016-01-24-12-56-46 1

Thus every time the setting button is pressed, menu size increases by two options ("Simulate" and "Save template").

Delete functionality of cards not working

On adding any card for the fisrt time in place of add if we delete that card than it is working but if we have added any card in any of template and then on selecting edit option we have option of add and delete, add is working but delete is not working.Card remain added at inside the template.

Incorrect highlighting for subsequent questions in Quiz Template.

If a question has option 2 as the correct option then option 2 is highlighted .
screenshot_2016-01-06-03-21-51
If the next question has option 3 as correct the along with 3rd the second option is also highlighted.

screenshot_2016-01-06-03-21-59
Similarly if a third question has 4th option as correct then its 2nd 3rd and 4th all three options will be highlighted.

Multiple instances of How to created

While viewing How to section.

Rotate the app once and keep on swiping till end and press Lets Start

It will open How to section one more time.
If you keep rotating once followed by swiping then you will be trapped in an infinite loop.

Pending Intent Missing for Notifications

On Clicking the notifications, nothing happens. If we add the feature to open the apk file just created, by clicking the notification, then it will be easier to view the apk.

Setting up an automated Build System for this project

It would be great if we could have a freely available, automated build system that compiles an APK for the project (bug-fixes branch) on each commit and makes it available for download.

The reason for triggering the compilation on each commit is to know if any pull request that was merged caused a problem.

Empty View not working properly

When we add any Item and then delete it causing it empty list ,then it doesn't show default empty view text Click Add button to start adding items.

screenshot from 2016-02-25 20-21-00

Share Project Feature

We currently have Share APK option but no option for Sharing Project i.e. project-name.buildmlearn file sharing. It can be common case when multiple users are adding items in template editor one-by-one.

Spelling Simulator Speech Rate Bug

Moving Seek bar to leftmost position makes no change in speech rate.

Try Moving seek-bar to fastest speech rate(Rightmost position) then move it to left-most then notice that there is actually no speech rate difference.

Edit button on Flash Template creates new flash card instead of editing the prior one

In the flash template if a card is selected for editing by clicking the edit button , a new screen is opened. Suppose in this new screen the question field is changed from "ques1" to "ques" and the ADD button is clicked. Then instead of changing in the same card a new card is created with the question field as "ques".
Initial card:
screenshot_2016-01-13-23-40-15

After editing:
screenshot_2016-01-13-23-39-48

Whereas, what should be expected is that the same card must be edited by changing its question field from ":ques1" to "ques".

Saved Projects Screen Improvements

In my opinion if there are no saved projects, a message should be displayed indicating the user does not have any saved projects yet, and if need be directed to creating a new project option.

Error in info_template_detail.xml

The error reads: Error:(18, 26) No resource found that matches the given name (at 'src' with value '@drawable/abc_ic_ab_back_mtrl_am_alpha').
It may occur due to old build tool version as is discussed here.

Back button not working in Slider Menu.

If we are in an activity from the slider menu, say "Saved Projects".
screenshot_2016-01-08-01-44-00

Then clicking on the back button at the bottom does not take back the user to the Home screen of the application, rather it closes the application (keeps it running in the background)

Operations with Saved APKs

As we have Saved Projects link in Drawer where we can see different saved projects, and we can perform various operations. What about introducing it for build APKs also? As currently we can't make track of it.
By adding the feature , we can see build APKs, install them from there, delete and share them , thus increasing usability for users.

App on Orientation Change

If we rotate our app

  • in TemplateEditor : we loose the template name and we have re-write
  • and during generating of APK : it abruptly stops creating the APK without showing any information and doesn't succeed.

Giving Wrong Spelling

Example: Writing Apple with autocorrect options gives wrong spelling in spelling template!
Screenshots from the app can explain this situation
screenshot_2016-03-04-21-29-43
screenshot_2016-03-04-21-30-03
screenshot_2016-03-04-21-30-10

Edit option in Flash Template creates new question

Let's say I have added a question in Flash Template as follows:

screenshot_2016-02-08-17-35-37 1

Now I want to modify the answer from "ans" to "ans_modified". Instead of making changes in the same question, a new question is created.

screenshot_2016-02-08-17-36-13 1

Incorrect highlighting of options in Quiz Template.

If a question is there whose correct option in option 2 , then 2nd option is highlighted , however if the same question is edited and the correct option is changed to 3, then instead of highlighting 3rd option , both 2 and 3 are highlighted as shown below.
screenshot_2016-01-06-03-16-55

Impossible to delete an existing project from the Saved Projects list.

The Saved Projects option on the slider menu gives a list of all the projects created in order of date of creation/modification. We can click on a project to edit it and then save it.
However a project cannot be deleted from the Saved Project list i.e. once a project is created it remains on the list forever and there is not an option for the user to delete outdated projects from the list.

Runtime Permission Missing

For Android 6.0 (API level 23) and above , users grant permissions to apps while the app is running, not when they install the app. For this reason when we try to save or share apk in Android 6 Devices ,

  • the dialog box keep on showing and it doesn't succeed in creating apk.

  • No Proper debug message is provided to users

    if we check Log then it will have one FileNotFoundException open failed: ENOENT Error. This is due to missing permission of storage which we need to provide for the first time.

UX wise floating button is not needed on the HomeScreen

UX wise the floating button is not a good choice for going to templates.As according to guidelines the plus shaped floating button is not needed to add something in general.I would like to shift functionality of that button to navigation drawer (means shifting option of template to drawer itself) and remove that from home screen.(Remaining application and other floating buttons will be at their same location).

@batraabhishek please review my suggestions so that I can work on that.

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.