nusmodifications / nusmods

🏫 Official course planning platform for National University of Singapore.
https://nusmods.com
MIT License
586 stars 319 forks source link

CS3216 Assignment 3 integration #299

Closed ngzhian closed 7 years ago

ngzhian commented 8 years ago

As part of assignment 3 we are proposing to build these components/features on top of NUSMods. This will start off as a fork and be hosted separately (due to time & resource constraints), and a goal will be to merge these into NUSMods itself if useful. (I can personally dedicate time to do this even after assignment ends.)

Server component with login

This is similar to what https://github.com/nusmodifications/nusmods-cloud is trying to achieve, have the concept of authenticated users so we can persist information about them.

Offline functionality (Milestone 9)

NUSMods timetable works offline you can drag the slots around. Search and module listing doesn't. We should be able to persist the information somehow so that users can still use it without connectivity, and somehow sync things up when we regain connection.

Server Sync (Milestone 10)

Described above, we want to persist user's timetable information, and want to be able to sync any changes made while offline to our backend.

Vertical calendar (tracked by #300)

The horizontal flow is not mobile friendly, users are more accustomed to scrolling vertically. (#8)

Upgrade front-end framework (Milestone 12) (tracked by #300)

Currently using backbone + marionette. Not a lot of familiarity with these tools. We maintain views using a combination of those 2 libraries and react, making code flow hard to follow. We propose upgrading to React, where UI is declarative, and manage state with Redux.

References

li-kai commented 8 years ago

May I know what backend you are going to use? I'm already working on authentication on nodejs here. It'd be great if I can help out or something.

ngzhian commented 8 years ago

We will be using nodejs + express. Haven't decided on the specific authentication mechanism yet, could use our school's IVLE login (but then will have issues with expanding to support other schools like what modify.sg can do), might use Google/Facebook auth. Thanks for offering to help, appreciate it a ton! Because this section is for school assignment I'm not sure how easily we can accept help, my prof might think we're cheating LOL. We will be developing all these in the open and will very much like your feedback and advice along the way :)

yangshun commented 8 years ago

@li-kai wanna join our telegram chat? https://telegram.me/NUSMods

yangshun commented 7 years ago

@ngzhian do you think this is still feasible?

ngzhian commented 7 years ago

doubt so, we relied on having a copy of the NUSMods data in our db. Plus v3 is ahead of what we did previously. We can probably look at how we did our PWA, but code sharing will be much more work than worth it. I will close this and maybe revisit after v3 alpha ships. Thanks :)