Laboratory remote for student grading
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
android
help
middleware
.gitignore
README.md

README.md

An Android application to help teaching assistants.

Overview

Using this application the assistant can easily take attendance and grade the students using the smartphone.

The application will allows retrieving the student list (name and avatar) according to the timetable, grading the students and exporting/synchronizing the information back to Moodle and/or Google Docs / other interfaces. It also allows viewing/editing the timetable, group assignment and attendance in the middleware using the smartphone information.

System architecture

Base functionalities:

  • obtaining the list of students (according to the timetable)
  • marking the attendance / grading
  • synchronizing with the server

System requirements

Mobile application:

  • (development only) Android 2.2 SDK
  • Android phone with 2.2 firmware(tested) or lower(untested)

Middleware:

  • Pyhton 2.6
  • Django 1.2.3
  • django-uni-form

Workflow

The main workflow is: Basic workflow

For screenshots and more information about the way the application works read the application manual available at http://labremote.korect.ro/manual/

The basic ui views are:

Student list view Timetable Student view

Middleware

The middleware component will is designed to be as independent as possible to the other components. It uses REST interfaces.

The middleware stores all the data related to the students. The mobile application will query the middleware and the middleware will sync with Moodle. Syncing with Moodle will be done either by using the Moodle 2.0 API or by other means.

The middleware is implemented as a web service.

Eclipse and emulator

If you want to build the porject on eclipse follow the following steps:

  • File/New Android Project.
  • Name the project
  • Check Create project from existing source and browse to android frolder from repo
  • Select the same target as in Manifest file (from the project).
  • Finish and it will build automatically

For more informations about eclipse and android check development guide: http://developer.android.com/guide/developing/eclipse-adt.html http://developer.android.com/sdk/index.html

If you run both the application on emulator and the server on localhost, the emulator will recognize the localhost server as 10.0.2.2 (for the host address in Settings activity).

Development

We recommend using the Android Eclipse-based IDE for developing the mobile application. After cloning the git repository just open the "android" folder as a project.

To run the middleware locally all you need to do is install the python-django package and run the following commands from the middleware repository directory:

./manage.py syncdb # only the fist time
./manage.py runserver # to start the server

The server will be available at the following address: http://127.0.0.1:8000/api/

If you wish to use the server on another port or want the server to be accessible to the outside use:

./manage.py runserver out.side.ip.address:port # to start the server

To populate the database with info you can use the administration interface at the address: http://127.0.0.1:8000/admin/

To see the pretty forms you also have to run

easy_install django-uni-form
.

Motivation

  • Build something useful.
  • Familiarize ourselves with the Android platform.
  • To win :)

Team

  • Alex Eftimie
  • Sergiu Iordache
  • Irina Preșa

License

  • GPL v3

Links

Middleware: