Web system that allows the creation and management of course syllabuses and their related information.
Description:
The purpose of this project is to provide an integrated system that provides a set of tools that helps the designated personal to visualize, create, modify, and manage class syllabuses, helping them to align course objectives with the standards imposed by the different accrediting agencies, and reducing the paperwork.
The application main objectives are:
- Allow administrative personal have control and records of each class syllabus created for each program.
- Allow the distribution of class syllabuses to professors.
- Allow the creation of programs and courses.
- Allow updates to each syllabus.
- Provide a tool to align the course objective to the standards of each accrediting agency.
- Minimize archives of physical class syllabuses currently stored.
- Provide a search capability by course programs and by course codes.
- Add class rules.
Functional Requirements:
- The user must have the option after finding the desired syllabus to download it.
- The programs of studies will be divided by bachelor's degree, master's degree, and doctorate.
- Each syllabus must be able to be viewed once found.
- The structure of each syllabus when viewed must be the same structure in which the user can download the syllabus.
- User inputs for every field in the application must be regulated for a specific task by validation.
- The user must be able to perform all actions inside the application without downloading any files to the computer, apart from the syllabus download option where the selected syllabus is downloaded to the computer.
- The objective section of each syllabus will be made in a table.
- Administrative staff must be allowed to add new programs to the system.
- Administrative staff must be allowed to add new courses to the system.
- Administrative staff must be allowed to add new course rules to the system.
- Administrative staff must be able to add the courses to the programs.
- The user must have the option to search for a specific syllabus by hovering over a search bar and entering course codes or course names or part of them.
Security Requirements:
- Users’ passwords must be hashed with the correct parameters for protection.
- Each user of the application must include their full name.
- If a user does not have permissions for certain pages or actions, the web page must not allow interaction of the user and if they try to access a restricted area for them, the system redirects them to the login.
Presentation Requirements
- The implementation must be web-based running on modern web browsers for windows such as Chrome.
- The university logo must be present through the application.
- Links, buttons, and other interactive tags must have a visual border to identify differences from the rest of the web.
- When a syllabus is edited it must be considered that page size may increment or decrease, changing the position of elements to print and show.
- The web colors must match those of the institution or with similar shades.
Performance Requirements
- The algorithms need to be design aiming to provide the least waiting time to the user.
- There must be a help page that depending on where the aid is requested, help corresponding to that area will be shown.
Information regarding the database:
The generateDB.sql is the script that you should run for a newly created application and will not have any inserts. For the initial inserts, you need to run the populateDB.sql script.
The entity–relationship model is presented below:
Page-flow information:
The page flow indicates where you can go from a specific web page and the required condition to be able to move to that page. The page-flow is in the file page_flow.drawio and you need to use the following web site to open it, https://app.diagrams.net/
There you will select File -> Open from -> Device and then search where you download the file.
Remarks:
- The classes folder goes inside ROOT/WEB-INF directory in Tomcat.
- Remember to add the classpath information in the environment variables.
- Add the required libraries in the lib directory in Tomcat.
- The Pages' Prototypes does not go inside Tomcat, they are only for general overview of the interface design without the need of the web server.
- The syllabusSystem directory goes inside the ROOT folder in Tomcat.
- The structure and names of folders and files should not be modified. The only files that can be deleted are the two examples of file generation.