Giter Club home page Giter Club logo

ffcsonthego's Introduction

FFCS On The Go

Netlify Status Last Update - Vellore Last Update - Chennai License

This web application is a tool to visualize your timetable for the students of VIT Vellore & Chennai to help with FFCS course registrations.

Demo

Links

This application has been deployed at the following links.

Contributing

Anyone and everyone is welcome to contribute. Please take a moment to review our code of conduct.

Issues

If you've caught a bug or you'd like a new feature to be added, feel free to open an issue so that the same can be discussed.

Pull Requests

If you're interested in contributing to our code, refer the contributing guidlines before opening a pull request.

Authors

Contributors

See also the list of contributors who participated in this project.

License

This project is licensed under the GNU General Public License.

ffcsonthego's People

Contributors

anmoltomer avatar dependabot[bot] avatar hariketsheth avatar sanket9918 avatar syedomar1 avatar therealsujitk avatar vatz88 avatar yashhatwar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ffcsonthego's Issues

Let people upload course report excel sheet

This will be helpful when there is no official course report sheet available but students have a report available for their branch or department.
After they upload the sheet, we can use it to provide them autocomplete for courses.
These changes will be local, and we should provide option to switch between the data site uses and one they have uploaded.

Display all available courses by slot

While creating the Timetable, almost everyone has some free slots in which they want to add some electives, but could not because searching for a suitable course is tiresome. It would be great if there was an option where the user can select a slot (say A1 + TA1) and a list of all courses available in that courses will be displayed.

Custom names for tables

Allow user to name the added timetable. Like 'morning', 'evening', etc. instead of generic names like 'Table 1', 'Table 2', etc.

That'll be easy to remember for switching and also when user resumes back later sometime.

Application Cache is removed, add Service Worker instead

Application Cache is removed as many users faced issues with not getting the updated site and also because it's a deprecated feature.

Add Service Worker to give offline support.


  • I have checked that no other similar issue is open or possible closed as wontfix

  • Please assign me this issue, I would like to work on it.

Update contributing guidelines

The CONTRIBUTING.md file needs to be updated to make contributing easier for people looking to contribute for the first time.

It should include,

  • Steps to install this application locally.
  • What to do before you start working on an issue, opening an issue or requesting a feature.
  • Where to look for code or add new code.
  • Naming scheme and rules to follow while coding.

Save quick visualization highlighted slots

Slots highlighted currently are not saved if no course is present.
That is, the highlighted slots by tapping or quick visualization are not shown again upon opening the respective table once table is switched or page reopened/reloaded.

Feature: Search course by slot

Give option to filter course by slot after searching through course code or name.


  • I have checked that no other similar issue is open or possible closed as wontfix

  • Please assign me this issue, I would like to work on it.

Add a disclaimer banner

Add a disclaimer banner that this is not some official site for ffcs by VIT and we are not responsible for any mismatch and discrepancies.
Students must verify all they plan with whatever official communication or information is given by VIT.

Faculty List Not Yet Updated

Well for the Chennai Campus some Courses are missing for MTech Integrated Software Engineering and some faculty name list are not yet updated! |

Anyway that can be done to update? I have some data regarding faculty list and courses.

FFCSOnTheGo for VIT CHENNAI Campus

Issue description :
Main goal to open this issue is to expand the capability of your project to CHENNAI campus as well because this tool has been really great so far and more and more people would like to have Chennai teacher's data on the app instead of manually entering everytime. A lot of people have requested this and I am willing to make this work. End goal here is to make the project useful for students of both the campuses.


  • I have checked that no other similar issue is open or possible closed as wontfix.

  • Please assign me this issue, I would like to work on it, and take responsibility for maintenance for upcoming semesters as well.

Support different timetables for different campuses

Is your feature request related to a problem? Please describe.

Currently we only have one timetable for both Vellore and Chennai campuses. This works well if timetable followed by both campuses are same. But in case the timetable is different for both the campuses we don't have a way to support both of them.

Describe the solution you'd like

Add support for different timetables for different campuses. This will require good efforts in terms of refactoring existing code.
Must ideal refactoring is moving to react or preact but it's lot of efforts. It'll also require re-writing all of jquery code.
Easiest approach I can think of is to write a helper function which takes a schema of timetable and renders it accordingly. We can call this function with correct schema when changing the campus and re-render the timetable.

Describe alternatives you've considered

In past, similar problem was solved by deploying different code on a different route. I don't think it's a good approach.

Additional context

#168

'\n' not working

Issue description here...

image


  • I have checked that no other similar issue is open or possible closed as wontfix

  • Please assign me this issue, I would like to work on it.

Load course data if it exists

Current Issue

Previous course allocation is still there and currently manual removal is the proposed solution.

Possible Workaround

  1. Try to load the data via an AJAX call and if it fails, prevent initialization of autocomplete.
  2. Add a flag variable to determine whether to initialize autocomplete or not. No. 1 solution is basically no work other than updating the manifest I guess.

Total No of credits

Describe the bug

  1. The credits column doesn't show up the equivalent credits for the component registered.
  2. The total number of credits is not getting updated when user is adding courses to his/her panel

To Reproduce
Steps to reproduce the behavior:

  1. Go to course panel and search for course
  2. Click on any available course and select 'Add course'
  3. Scroll down to see Registered courses and the Total number of credits registered
  4. See error

Expected behavior

  1. The registered courses table should show the number of credits for respective components in its "Credits" column. But nothing is visible
  2. At the bottom of the table, the total number of credits registered should be visible. But the application always shows 0 credits

Screenshots
image
phone

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser : Edge
  • Version EDGE 96.0.1054.43 (Official build) (64-bit)

Smartphone (please complete the following information):

  • Device: Redmi Note 5 pro
  • OS: Android 9, MIUI 11.0.5
  • Browser : Google Chrome
  • Version : Chrome 96.0.4664.92

Additional context
Checking the equivalent credits and number of credits registered is a very frequent action from user. As it FFCS time, the bug needs to be resolved as soon and possible.

Bug: Lab and theory timings need to be considered to decide clashes

Adjacent lab and theory slot timings need to be considered for the Winter Semester 2018 course registration to decide whether a clash occurred or not. Overlapping slots is not the only condition for a clash to occur.

For example, say I took labs in L59+L60 and I want to take F2+TF2. Right now, this is allowed as none of these slots overlap the other. However, as per the latest rules, this should clash. L59 starts at 05:31 PM while TF2 ends at 05:50 PM. Hence, one can't take both of these slots at the same time.


  • I have checked that no other similar issue is open or possible closed as wontfix

  • Please assign me this issue, I would like to work on it.

Filter courses by location

Issue 1:It would be great if you could add an option to filter the buildings in the filter option for eg: TT, SJT.
Thanks for the amazing website.

Deleting/Renaming Table Default

It would be great if we could also delete/Rename the Table Default.

image

  • I have checked that no other similar issue is open or possibly closed as wontfix
  • Please assign me this issue, I would like to work on it.

Time-table action buttons UI on mobile screen

Screenshots
image

Smartphone (please complete the following information):

  • Device: mobile phone
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Display the buttons vertically in mobile device.

Minor improvements and cleaning

  • Remove unused resources and redundant code (#208)
  • Update / Remove deprecated code (#208)
  • Move functions and rules into separate files (#208)
    • Move JS functions into separate files (Ex: course-panel.js, timetable.js, course-list.js)
    • Move SCSS rules into separate files (Ex: course-panel.scss, timetable.scss, course-list.scss)
  • Normalise variable names, ids and classes (Keep a consistent naming scheme) (#208)
  • Add Select All and Deselect All buttons to the slot filter
  • Improve screenshots (#189)
  • Add the last updated semester in package.json (#191)
  • Update dependencies and devDependencies (#237)
  • Test an update node version (#237)
  • Add badges to README.md (#192)
  • Update the README.md preview GIF
  • Update CONTRIBUTING.md (#195)
  • Update issue templates with labels (#211)

Note: Most editors like Visual Studio Code or IntelliJ show you what is deprecated with a strikethrough.

Feature: Allow sorting of columns in course list

image

This has been a requested feature and we'd love it if someone could help add this feature to the site. User should basically be able to click on the headers of the course list (#courseListTable) to sort the entire table by that column. This'd make it easy for someone to see the courses that takes up most credits or group courses by course code and more.

Features that need to be preserved

  1. Double-clicking the row should delete the course.
  2. x button should be present on the right end of a row to delete the course.

Suggestions

DataTables comes to my mind. It shouldn't be hard but you might need to refer the manual because direct DOM manipulation with DataTables might break it.

If you are interested to work on this, please leave a comment below.

CSE2006 Microprocessor and Interfacing not available

Describe the bug
CSE2006 Microprocessor and Interfacing not available on your website. Please add it along with the faculty list.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

New course allocation report in vtopbeta

PDF can be found in vtopbeta. Running through export to Excel in Acrobat yields the excel doc attached here. Note that the excel document has column headers appearing for each page so the JSON parser needs to account for that.

image

Theory and Project Clash for CAL courses

when we add a subject, only its theory credits are added not lab or project.
Further if we add project than it shows it in red meaning it is clashing when it is not

Sort not working

Describe the bug
Not able to sort the selected courses based on the available headers, i.e., slot, course code, title etc.

To Reproduce
Steps to reproduce the behavior:

  1. Select some courses, i.e., add some courses to your timetable
  2. Click on Slot or code or any other table header

Expected behavior
After clicking on any table header the contents should be sorted accordingly, descending or ascending based on the arrow up or down.

Screenshots
image
image

Automatic Timetable Generation Feature

Problem: Currently, the process of generating timetables takes a lot of time due to the manual process of dragging and dropping preferred teachers and preventing slot clashes.

Solution: I have created a website using Java in the backend, which can automatically generate timetables based on your preferences like morning/evening theory, preferred subjects, teachers and timings. As of now I am planning create an API which can be used to generate timetables.

Since I am not familiar with JavaScript I would like to collaborate with someone to integrate this feature into FFCS on the go.

This is how tool works:

TimetableDisplay.mp4

PS: I have shortened the subject names, CN is Computer Networks, OS is Operating Systems and so on...

Filter courses by free and paid on Learndash)

I need to add one filter like dropdown for free course and paid course and also include age wise dropdown (for ex. 5 grade to 10 grade student)

I am using wordpress, Learndash LMS plugin, BuddyBoss theme
#215

Courses

Update course list to match the latest allocation report

Allocation report is available here. The format is .xlsx and that needs to be converted to JSON format and the data extracted to the following files:

  • data\all_data.json โ€” Should contain all the courses. Format can be referred from the existing version of this file.
  • data\unique_courses.json โ€” Should consist of only unique course details, i.e, { CODE, TITLE }.

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.