Closed ngzhian closed 7 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.
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 :)
@li-kai wanna join our telegram chat? https://telegram.me/NUSMods
@ngzhian do you think this is still feasible?
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 :)
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