GithubHelp home page GithubHelp logo

lqc / course-activity-planner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fuhrmanator/course-activity-planner

0.0 0.0 0.0 35.23 MB

Tool for instructors to plan course activities and synchronize the data with syllabus, LMS, etc.

License: GNU General Public License v3.0

Python 75.08% JavaScript 7.98% HTML 16.77% CSS 0.17%

course-activity-planner's Introduction

This project is affiliated with the Maison du logiciel libre (ML2) at ETS.

Table of Contents generated with DocToc

course-activity-planner

Build status Coverage Status

Tool for instructors to plan course activities and synchronize the data with syllabus, LMS, etc.

Moodle courses can be cloned and updated with new activity dates from a calendar. Why?

How to use

General principle

Moodle activities can be planned relative to Seminars, Practica and Laboratories. Each activity adapts its start and end dates with the calendar of specific dates.

<activity to plan> <start at activity> <end at activity>

Ex: Quiz 1 is opened on Seminar 1 and closed right before Practicum 2 would be possible with this line: Q1 S1 P2

  • MQ1 stands for Moodle Quiz 1
  • S1 stands for Seminar 1
  • P2 stands for Practicum 2

Generic activites which are not linked to Moodle content can also be created.

By default, Quizzes and Exams can be planned without any Moodle file.

Start/End of activities

Adding F to an activity will read the finishing time of the activity. Adding nothing or S will read the start time.

Ex: Quiz 1 is opened right after Seminar 1 and closed right after Practicum 1 would be Q1 S1F P1F

Relative date or time modifiers

Amounts of time can be subtracted or added to activities.

Supports + or - combined with

  • minutes: m
  • hours: h
  • days: d
  • weeks: w

Ex: 1 hour after Seminar 1 would be S1+1h.

Ex: 15 minutes before Practicum 2 would be P2-15m.

Ex: Quiz 1 is opened 1 hour after Seminar 1 and closed 15 minutes before Practicum 2 would be Q1 S1+1h P2-15m

Absolute time modifier

The exact hours can be set to an activity.

Ex: the day of Seminar 1 at 23:55 would be S1@23:55.

This can be used along with relative date or time modifiers.

Ex: the day before Seminar 1 at 23:55 would be S1-1d@23:55.

Please Note when used with a relative modifier, the time modifier must be last.

S1-1d@23:55 is valid

S1@23:55-1d is invalid

Defining new activities

Activities can be configured by the administrator. Please refer to examples in python/config/activities.

Development setup

  • Create a google application with Identity Toolkit API access. Create an oauth2 client as a web application and save the client id. This id needs to be put in config/.

  • Setup a python virtualenv

cd python && virtualenv-3.4 env
  • Activate the python virtualenv
. env/bin/activate
  • Install pip dependencies
pip install -r requirements.txt
  • Run it
./course_activity_planner.py
  • Install bower dependencies
cd .. && bower install

Run unit tests

  • Run the test suite
nosetests
  • Optionally, you can get a coverage report
nosetests --with-coverage

Run the linter

pep8 && flake8

Production setup

Please see deploy/README.md

Screen shots

course-activity-planner's People

Contributors

denisbressand avatar dependabot[bot] avatar fuhrmanator avatar fxleblanc avatar jdupl 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.