For easy addition of Past Year Paper Solutions of NUS Mathematics Modules (MA)
A Summer Project for CP2106: Independent Software Development Project (Orbital)
- Project Title: NUS Maths PYP Solutions
- Project Team Members: Lu Lechuan (NUS Comp Sci), Xu Weichen (NUS Applied Maths)
- Member Contribution
- Lu Lechuan (Front-End Development with JQuery, Mathjax, Bootstrap, Vue.js)
- Xu Weichen (Back-End Development with Express, MongoDB, Mongoose, Passportjs)
- Project Duration & Breakdown:
- May 2017: Learning HTML5, CSS, Javascript, Introduction to Expressjs, MongoDB, JQuery, Ajax
- June 2017: Learning Expressjs, MongoDB with Mongoose driver, Learning Bootstrap
- July 2017: Obtain and Customize the Drywall Framework, implementation of Maths PYP related features
__ A Node.js based Web Application using Expressjs and Remote MongoDB__
Based on Drywall: A Website and user system starter
The Major Dependencies are:
On The Server | On The Client | Development |
---|---|---|
Express | Bootstrap | Grunt |
Jade | Backbone.js | |
Mongoose | jQuery | |
Passport | Underscore.js | |
Async | Font-Awesome | |
EmailJS | Moment.js |
Website Features:
- Contact page has form to email.
- Login system with forgot password and reset password.
- Email notification during signup flow.
- User system with separate account and admin roles.
- Admin groups with shared permission settings.
- Administrator level permissions that override group permissions.
- Global admin quick search component.
Maths PYP Solutions Related Features:
- CRUD Functionality for Maths Modules
- Online/Offline Functionality for Maths Modules
- CRUD Functionality for Answers
- Admin permission to access all answers, all module details, own answers; ability to write answers
- User permission to access own answers and ability to write answers
- Organization of modules into tree like structure
- Dynamically generate webpages for easy addition of future answers
- Allows Display of LaTex on Webpages
- Limits access of non-users, and users (non-admins) to certain webpages
- Added ReCaptcha to deter spam
- Integrated with Bootstrap for mobile friendly development
......and a lot of other small features to optimize the UX