Git Product home page Git Product logo

gr8's Introduction

gr8

A course grading system built on django 1.7. Includes course enrollment, grading, scheduling, exporting/importing to/from Google Calendar, transcript generation, and other education-related features.

Disclaimer

This application was developed as a part of a college course and is not to be taken as an alternative to an actual course management system. The developers of this project make no claims about the security of this product and take no responsibility for any damages that may result from its use. The creation of this application is purely for academic purposes, and this system is not intended for use in actual schools or colleges.

Installation

Gr8 requires a working installation of Python 3.x with django 1.7 (this is most easily installed using pip). To install django 1.7 using pip, run: pip install django==1.7

###Dependencies Gr8 depends upon the following open libraries

#####ReportLab ReportLab is a PDF generation library for python. Gr8 uses ReportLab to generate students' transcripts on-the-fly. To install reportlab, run pip install reportlab.

#####Google API Gr8 makes use of Google Calendar, and uses the Google API for Python (available on Github) to connect to it. To install the API, run pip install git+https://github.com/enorvelle/GoogleApiPython3x.git

Note that in order for the Google Calendar functionality to work, you'll need to register the application with Google, and obtain a client_secrets.json file for the application. (Put this file in the gr8/ directory

gr8's People

Contributors

alexanderkm avatar amccarthy1 avatar michaelwashburnjr avatar njc3006 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

gr8's Issues

Models need to be updated

The following items need to be added/changed in our database:

  • Keep track of what the grade is out of. I'm not sure if this should be on Course or Course_Code, or some higher entity. What do you guys think?
  • We need to establish what constitutes a passing grade somewhere, so we can determine if a student has earned their credits.
  • We need to move credits to Course_Code.

Edit this or comment if you think of anything else.

Grading Functionality

Considering grading is at the core of our system, this is worth getting right.

Currently, When you enter grades, if some of the grades you've entered are invalid, the form submits anyways and saves those grades that were correct, but not the ones that are not.

While this could be a valid design we should consider if it's an intuitive approach. A more intuitive approach might be to either not save any grades when the form contains errors, or to display some indication that the valid grades have been saved, while the invalid ones have not

In other places (Course Creation) an invalid field prevents any of the other fields from being saved.

It's probably a nitpicky thing, but it could improve the overall usability of our application

Course Prerequisites Not Checked

While there is currently no functionality to add a prerequisite to a course, there is also no functionality to check prerequisites when a student is enrolling in a course. Here's a general solution for this problem:

Backend

Write a method on Course that verifies that a user meets the prerequisites for the course
Implement a check in the enrollment code to verify that the prerequisites are met using the above

Templates

Check that a user meets the prerequisites, and pass that into the course_info template.
If a user doesn't meet prerequisites, grey out the 'enroll' button

Login 'next' causes 404

Steps to reproduce:

  1. Start the server
  2. Without logging in, click All Courses under the Courses dropdown menu.
  3. Experience the beauty of a 404 error page.

The same error occurs when navigating to other "login required" pages.

Is anyone else experiencing this?

Weird button layouts

Throughout our website we put buttons in different places. We switch between putting them in tables (bottom row, colspan=4), putting them just outside tables, and on the Course info page we actually have one button in the table, and one button outside the table. For R3, we should totally consolidate these into a standard format. Probably a single button group at the bottom or top of the page.

Allow grades for Enrolled_In to be null

Was messing around trying to enroll in a course and found this. I would push out the changes ( grade = models.FloatField(blank=True, null=True) ) but it looks like the database needs to be sync'd and all that for it to actually work.

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.