Skip to content

Commit

Permalink
Added exam show view and expanded brainstorming documentation for UI
Browse files Browse the repository at this point in the history
  • Loading branch information
gorrillamcd committed Jun 5, 2012
1 parent 1f5fffd commit d0e1325
Show file tree
Hide file tree
Showing 3 changed files with 80 additions and 5 deletions.
9 changes: 4 additions & 5 deletions README.md
@@ -1,7 +1,7 @@
#Armory

An online learning and student management system specifically tailored for Bible Colleges.
While this is was originally intended for use in a Bible college, anyone can feel free to use this software for any use.
While this was originally intended for use in a Bible college, anyone can feel free to use this software for any use.

***********************
This is currently under active development and is not ready to be used in Production! If you would like to know when it will be ready, signup for the mailing list at [ccbcmexico.com](http://www.ccbcmexico.com/content/index.php?option=com_content&view=article&id=37&Itemid=32&lang=en)
Expand Down Expand Up @@ -37,16 +37,15 @@ While the TODO list is a good place to start, there's a few other things that sh
Just some quick notes about working with the code:

* Right now, I'm sticking with the gems I have unless there's a really good reason to switch. That means RSpec for testing, Paperclip for uploads, etc.
* Thin is the server I plan on using for development and production. If you don't know, just do `gem install thin`, clone this repo and cd into the directory, then run `thin start`, it's that easy!
* `Thin` is the server I plan on using for development and production. If you don't know, just do `gem install thin`, clone this repo and cd into the directory, then run `thin start`, it's that easy!
* The main roadmap for version 1 is fairly set in stone. It will be functional and secure, but might not have all the bells and whistles(autocomplete, multiple question-types, translation, etc) it could have, that's what version 2 is for.
* This is free to be used by anyone but cannot be sold (will get a proper license up soon). That said, I will not add functionality for other scriptures(book of mormon, apocrapha, etc) or religions. If you'd like, feel free to fork the repository and you can add them to that yourself.
* This is free to be used by anyone but cannot be sold (will get a proper license up soon). That said, I will not add functionality for other scriptures(book of mormon, apocrapha, etc) or religions. If you'd like, fork the repository and you can add them yourself.

#TODO
[todo]: #

* Write Tests for current and any further features (will use rspec/capybara)
* Add Course subscription feature (state-machine to track relationship between student and course)
* Create Exam views and logic along with Questions and Answers
* Finish user CRUD interface for admins to manage users
* Program User Interface (already designed and looking sweet!; templates will probably come in v3.0)
* Code User Interface (already designed and looking sweet!; templates will probably come in v3.0)
* Refactor and general code-cleanup
19 changes: 19 additions & 0 deletions app/controllers/exams_controller.rb
Expand Up @@ -7,6 +7,10 @@ def show
@exam = Exam.find(params[:id])
end

def take_exam # Special action for a student taking the exam specified

end

def new
@lesson = Lesson.find(params[:lesson_id])
@exam = Exam.new
Expand All @@ -22,5 +26,20 @@ def create
render :new
end
end

def edit
@lesson = Lesson.find(params[:lesson_id])
@exam = Exam.find(params[:id])
end

def update
@lesson = Lesson.find(params[:lesson_id])
@exam = Exam.find(params[:id])
if @exam.update_attributes(params[:exam])
redirect_to lesson_exam_path(@lesson, @exam), notice: "Successfully created exam."
else
render :action => 'edit', :error => "Something went wrong."
end
end

end
57 changes: 57 additions & 0 deletions doc/BRAINSTORM.md
Expand Up @@ -10,3 +10,60 @@ I figure this is as good a place as any to include some brainstorming for featur

* Generate pdf Syllabus for courses from database (that'd be an awesome feature!)
* Include basic student/teacher communication tools. More to come in the future, but it's a start.

***********************************************************************************

## User Interface

This section is brainstorming specifically related to the User Interface. It's incredibly important since, up until this point in development, UI has been very adhoc and only as-needed, so I could focus more on backend logic.

******************************

### User Needs

*It's important to note that teachers, staff, and admins are administrative groups of users. Students are the only user group that can take classes and receive grades. That may change in the future, but for now, it is what it is.*

*Also, while in beta, all user groups will have access to providing feedback on the program itself.*

**Dashes indicate relative importance to help with information hierarchy: - just necessary, -- important, --- most important**

**Students:**

* Take courses ---
* Track their overall grade and grades for individual courses --
* Subscribe to courses -
* Take tests --
* Communicate with teacher (ask questions) -
* Track/Update personal/account information -
* Access Research materials easily --
* Watch lessons ---

**Teachers:**

* Communicate with students (receive and answer questions)
* Edit information on owned courses
* Communicate with staff
* Grade assignments *(future)*

**Staff:**

This one is easier to list by what questions need answering for a staff person:

* How many students? (access demographic information)
* What are the grades like?
* What classes do we have with active students? (and vice-versa as well as historic info)
* How do I contact a specific student?
* How do I add a course?
* How about lessons and quizzes?
* What students have/have not paid for courses?
* How do I manage/add/correct translations?
* How do I communicate with both students and teachers?
* How do I delete a rogue user?

**Admin:**

This is one of the easiest since it inherits everything from Staff with a few additions:

* Manage Staff, teachers, students, and other admins
* Correct existing grades (won't be added unless proven necessary)
* Most likely more, but this is a good start.

0 comments on commit d0e1325

Please sign in to comment.