- Route
/: this page is only used to manualy redirect the user to the/myplanif the user is logged in or to the/mainroute if the use is not logged in - Route
/myplan: this page has all the functionalities to create a new study plan, view the already committed plan and has also the functionalities to edit a already present study plan. - Route
/main: this page is only accessible by unauthenticated users and contains a list of all the courses provided by the system - Route
/login: this page is user to make the login - Route
/*: default page for not defined resources
-
PUT
/auth/commitPlan/:id- request parameters and request body content: user id (params), plan (body), subscription type (body), credentials (headers)
- response body content: possible errors due to validations
-
PUT
/auth/deleteCommittedPlan/:id- request parameters and request body content:
- response body content: possible errors due to validations
-
GET
/unauth/courses- request parameters and request body content: not provided
- response body content: and array of courses objects
-
GET
/auth/getprofile/:id- request parameters and request body content: credentials (headers), id (params)
- response body content: some user informations
-
GET
/api/sessions/current- request parameters and request body content: credentials
- response body content: some user informations
-
POST
/api/sessions- request parameters and request body content: credentials
- response body content: some user informations
-
DELETE
/api/sessions/current- request parameters and request body content: credentials
- response body content: null
-
Table
users: table used to store all the information about the user- id: student id
- name: name of the student
- surname: surname of the student
- finalPlanCredits: credits of the committed plan
- finalPlan: committed plan
- fullTime: 0 if the student committed a part-time study plan, 1 if if the student committed a full-time study plan, null if the student hasn't yet committed any study plan
- email: email of the student
- salt: salt to generate a crypted password
- password: crypted password of the student
-
Table
courses: table used to store all the information about the course- code: identifier of the course
- name: name of the course
- credits: credits of the course
- maxStudents: maximum student for the course. null if no limitations.
- enrolled: number of enrolled student
- incompatibleWith: list of incompatible courses
- preparatoryCourse: list of preparatory courses
CourseRow(inCourseRow.js): this component has all the information and functionalities to handle all the courses. It's adaptable and is used in different situation.CoursesTable(inCoursesTable.js): contains all the rowsDefaultRoute(inDefaultRoute.js): component used only to inform the user that a specific route doesn't existLogin(inLogin.js): This component is composed of the form to make the login. It handle the login functionalityLogout(inLogout.js): Button rendered in the navigation bar if and only if the user is logged in. It handle the logout functionalityMainPage(inMainPage.js): contains a row for each course in the system. The rows generated by this component have the possibility to make visible and invisible some information of the course.MyFinalPlan(inMyFinalPlan.js): this component contains a table with all the courses joined by the user.MyInformations(inMyInformations.js): some informations about the userMyProfile(inMyProfile.js): it's a sort of container for different components: MyInformations, MyFinalPlan, MyStudyPlan, CoursesTableMyTemporaryStudyPlan(inMyTemporaryStudyPlan.js): contains a temporary study plan defined by the user. it has all the functionalities to check the compatibility in terms of credits and inconcistencies between different courses.Navigation(inNavigation.js): no functionalities, only used to provide to the user the possibility to go on the login page or to make the logout
- username: [email protected], password: ciao1234
- username: [email protected], password: ciao1234
- username: [email protected], password: ciao1234
- username: [email protected], password: ciao1234
- username: [email protected], password: ciao1234
- username: [email protected], password: ciao1234
