seekshiva / courses Goto Github PK
View Code? Open in Web Editor NEWHome Page: http://courseshub.in
License: GNU General Public License v3.0
Home Page: http://courseshub.in
License: GNU General Public License v3.0
The form says "create a new topic" and it is trying to create a new topic(with out a section as reference) but the show controller shows sections when asked for topics.
The app is currently not optimized for mobile view.
Reference materials could keep changing every year. In order to maintain the history of reference materials used in previous semesters, it makes sense for it to be linked to Term
and not Course
.
The Course page could display the reference materials of its latest term.
Right now HOD of all department is just a string, which the full name of the department. But, now that the faculty relation has been created, the right thing to do would be to link the HOD to a faculty_id instead of just using a full name.
Section is a macro classifier; and topic is a micro classifier. But right now, it has been implemented the other way around.
Swap them, so that section has_many
topics.
Extract information about syllabus and reference material of all courses from college website, and create a seed file out of it.
For reference, check http://quotedprintable.com/2007/11/16/seed-data-in-rails
http://0.0.0.0:3000/asdf gives an error
uninitialized constant SlugsController
This is because routes.rb has an entry for ":slug" = "#{:slug}s#index". It tries to find a controller named asdfs_controller.rb
Right now, there is no authentication for Admin pages.
It need not be explicitly called as blacklisting. Any user should be able to report inappropriate content on topics page and the author of that topic should be blacklisted.
Each course must have additional About
and Outline
fields under the Info
tab.
About
will be an introduction of the course
.
Outline
will be a ordered list of major topics covered in the duration of the course
.
Both the pages can get input in markdown format and render the output in html.
Courses are no longer directly linked with departments. So the old fashion way of looking up a course in the department page won't work for newly created courses. Finding the specific course out of ~400 odd courses in /admin/courses will be tedious.
A search bar on top of the page to find a course using its subject code will minimize the course look-up time for the administrator.
Fetching all the data for admin pages like users/faculty is not recommended. It us better to split them into pages with 30 rows in each.
Schema changes were made recently to link to specific Terms from the Department page, instead of linking to the Course.
The main app is compliant with this change. But, the admin panel for the Course (found at /admin/courses/:id
) was not updated, and is broken now.
Now that term has taken the position of courses wrt relation with faculty/department, the Backbone app needs to work well with it. It is currently broken.
Course and Term are currently accessed by their ids: /courses/:id
and /terms/:id
If I want to find information about a course, I'd have to navigate to the departments page and start looking for the course from there.
As a student/faculty having to remember the :id
of the course stored some random server maintained by the Course app team is a lot to ask from me. What I'm more likely to already know, is the course code for that course.
So, I'm proposing to change the Course page from
/courses/:id
to /courses/:course_code
and the Term page from
term/:id
to /courses/:course_code/:year/:some_random_id
If topic is present for a course in /admin/course/:id/ it throws an error saying template missing..
This is due to <%= render :template => "admin/topics/show" %>
at 186 and 171 in views/admin/courses/show.html.erb
Monthly calendar that covers the duration of the semester is displayed. User will be able to select a date and view all topics covered on that date.
In the calendar, there has to be clear visual distinction between days when class occurs, and days when it doesn't.
Currently, the Course home page at /course/:id
shows general information about a course as well as temporal data about semester specific information, such as, class/test/exam schedules. This is makes it ambiguous to decide which Term
's schedule to show in the Course home page. So it makes sense to move all Term specific information to a separate Term page at /terms/:id
instead of mixing it up on the Course page.
Right now, a course contains a list of Topics
.
Make Topic
as container for a list of Sections
.
The new Section
will act like the current Topic
. The new Topic
will be a collection of the new Sections
.
Add License agreement for the project and put it up in README.md
We should maintain a doc/reference manual containing FAQs. We need not answer the FAQs just the questions would suffice.
Allow Faculty to edit Term information directly from the term home page.
Creating a new author without any books throws an error when show method is invoked
Add feature for Students
to attend a Term
that is being offered in the current semester.
A user without admin permission is able to access the admin panel
Students should be able to subscribe/unsubscribe to any course offered by the institute.
Please discuss on the features that faculty admin panel should have.
Update the issue description as these features get implemented.
Static pages like help, about etc .
Currently, the Course home page at /course/:id
shows general information about a course as well as temporal data about semester specific information, such as, class/test/exam schedules. This is makes it ambiguous to decide which Term
's schedule to show in the Course home page. So it makes sense to move all Term specific information to a separate Term page at /terms/:id
instead of mixing it up on the Course page.
Show a Reminder of upcoming classes, assignment and exams in a menu in the top-right corner.
Reminder will show the following items chronologically:
Allow students/faculty to Bookmark favorite courses, so that they can have a quick link in the menu in the top-right. This could be used to bookmark courses that the student/faculty is not currently attending/teaching.
A new author can be added but it cannot be connected to a book
Eg:
Say we delete a book. It directly removes it from db but when we try to get the list of all the authors and deleted book is related to some author rails generates an error saying book does not exist. It is because courses app is using only left join(since it is faster than inner join) and the left join contains some rows without the values from other table.
Task:
Go through all the controllers and fix.
Select menus don't have any styling via bootstrap. Replace with a better good looking one.
Eg: github select menu used to set the label for a issues or the select menu near the search bar.
Create profile page for students and faculty
About
and Designation
fields need to be added to the faculty relation.
About
can be stored in markdown format.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.