Giter Site home page Giter Site logo

sogrim / technion-sogrim Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 0.0 1.99 MB

Get your degree status in the best possible way 馃

Home Page: https://students.sogrim.org

License: MIT License

TypeScript 52.11% HTML 0.50% CSS 0.10% Rust 47.24% SCSS 0.05%
accademic react rust technion

technion-sogrim's People

Contributors

benny-n avatar liadaram1 avatar nissanohana avatar

Stargazers

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

Watchers

 avatar  avatar

technion-sogrim's Issues

New APIs for the Catalog Marketplace feature

Catalogs

  • GET catalogs details (query for market place) - query params: [cursor?, filter?] filter - faculty, year
  • GET catalog by ID (FULL)
  • POST catalog -> validations

Likes

  • POST like (true/false)

Handle edge cases in specialization groups

When a course should belong does not necessarily to the specialization group in which it first appears.
There are 2 ways to solve this:

  1. Add support in modified specific specialization groups for courses.
    Then. the user would tag it manually.
  2. Implement exhaustive search (or think of a more sophisticated search) in the core side.

Identify special courses

Check with the coordinators how to identify:

  • Malag courses
  • Sport courses
  • Free Choice courses

Edited:
After some investigation probably the solution would be:
Malag - All courses with the prefix 32 and 2 points, or one of the courses in a closed list (for now the list is 214120).
Sport - All courses with the prefix 394 and 1 point, or "NIvharot Sport (394902).

Remove duplicate files

We have 2 (almost) identical files "CourseValidator.ts" and "course-validator.ts".
We should remove "course-validator.ts", and let every component to use the functions in "CourseValidator.ts".
In addition we need to locate the file under SemesterPage hierarchy.

Edit: Same for "Tabs.tsx" and "PageTabs.tsx"

Possible synchronization issue between B.O. app and Students app

We should consider this possible scenario and decide how to solve it:

  1. Some users use the Student app with catalog A and their UserDetails are saved to the DB.
  2. One of the coordinators (专讻讝讜转) updates catalog A and changes its demands and rules.
  3. All of the users who use catalog A now have invalid details.

Refactor the way we handle modified courses in core

What we are doing now is to add the modified courses to the course list of the bank.
However, if the user adds manually 驻讬住讬拽讛 1 for example, it doesn't recognize it as a replacement for 驻讬住讬拽讛 1诪.
To solve this, we added a function which remove duplicate courses, but we still don't have the small comment on 驻讬住讬拽讛 1 which is a replacement for 驻讬住讬拽讛 1诪.
There is a robust way to fix it by not adding it to the list and just look the bank type of the course itself.

Semi-automation process for adding catalog

  • Add strong validations on new catalogs for the flow.
  • Add semi automation flow to add catalogs easily. The most difficult parts are:
    • Handle course_to_bank field.
    • Handle specialization_groups rule.
  • Should replace the market place solution

Handle edge cases in core algorithm

  • Students with common replacements (讞讚讜讗 讘诪拽讜诐 讗讬谞驻讬)
  • Students with special (approved) replacements ( 驻讬住讬拽讛 1 讘诪拽讜诐 1诪)
  • Catalog-specific replacements

Clean the specialization groups code

The code of specialization groups algorithm is very complicated.
We should make the code cleaner, more readable, and add comments in every non trivial part of the code.

Semester tabs bug on windows/chrome

When having more than 8-9 semesters and the scrolling arrows appear the tabs component breaks.
For now it seems that this only happens on Windows + Chrome

Display course number when course name is empty

Under requirements the course name is displayed by default.
However, course name can be empty.
Thus, when it does the course number should be displayed instead, otherwise only the credit is displayed and it is not clear what course is it.

Revert irrelevant courses

After the student marks a course as irrelevant he doesn't have any way to revert it besides reset the account.

Switch to faculty hierarchy

After extending the system to more faculties we should add another layer in the hierarchy.

  • Extract common-replacements to faculty layer. The common replacements should be identical across faculty catalogs.

Separate the errors when adding a new course

When adding a new course to a specific semester with a course id which already exists, or adding a course with invalid course id, we get a general error for both cases.
We should separate those cases so the error would be more informative to the user.

Support "in progress" courses

  • add "settings" to User resource
    • add 'modified' flag to settings (cancelled)
    • add compute_in_progress flag as a setting
    • update db
  • create PUT /student/settings
  • before degree-status compute, check compute_in_progress flag and change courses statuses if needed.
  • add toggle button UI to client
  • change default course_status from 'complete' to 'in-progress'

Demo & QA fixing Plan for 1.0.0 version

Core function side: @liadaram1

  • Add a full flow test for 3 years computer science itinerary.
  • Add small tests for each component of the core function independently.
  • Add a full flow test for software engineering itinerary.
  • messages
  • #68
  • adding 2-3 new catalogs (with the BO app)
  • 诪注讘专 谞拽讜讚讜转 info icon & change title #85
  • types fe & be #77
  • adding loading state to banner cards when we "住讙讜专 讗转 讛转讜讗专"
  • send feedback form (footer) #72
  • 讗谞讞谞讜 诇讗 讛讟讻谞讬讜谉 disclaimer #86
  • table - min width #94
  • table - grade arrows when editing #94
  • #75
  • minimal redme.md file
  • #84
  • skip import courses step, and manually add all your courses #91
  • inform students about 讘讞讬专讛 讞讜驻砖讬转 for any course that isn't in the DB + FAQ about it #83
  • #78
  • card for null semester
  • BLOCK FOR MOBILE!!!
  • bug: can't add new semester to user without semesters #90

Vision (backlog)

  • Any user can login - and make his own catalog. #
  • CANCELLED User details array - users have a number of possibilities to check different catalogs & planning.
  • Responsive for mobile.
  • Better editing table experience (Reut)
  • More Faculties!!!
  • stats page
  • guest flow (with localstorage / dummy user?)
  • intro flow

Error handling

  • Handle 401s after users are idle for a long time - TEMPORARY SOLUTION - #103 Handled robustly with #168
  • Better error handling in server side - #123
  • Error fallback page - #168

Fix list of chain's courses

After some feedback from students, they prefer the chain will display the whole courses from the bank and not only the courses for the specific chain.

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.