Date: 2019-04-01
Time to Read: 2 Minutes
Tags: dream architecture legacy code computer science PHP MySQL jQuery LAMP
CommentsIn the old system, several programs had different processes where students would submit a Placement Application, this application would be reviewed by a faculty or staff user who would then approve the application to effectively generate an enrollment loosely based on the details of that application.
Predictably, different programs had different requirements for this application and because of the different structure of these applications, each form had its own separate page/source file. My goal was to take the functionality and features of each of these application, generalize them enough, and place them within a single file responsible for handling all possible customized cases. I would call this the Enrollment Application.
This would require a user capable of determining the structure of the application specific to the program that the application was related to. I would call this the Enrollment Application Settings and these details would determine the behavior of the file responsible for the Enrollment Application. The rest of the process would remain the same, there would be an interface for a user to view/review and modifying any necessary details required to generate an enrollment based on the Enrollment Application.
All enrollment applications share some similar features such as:
However, enrollment applications for different programs differed by the following:
In my attempt to generalize these options enough to account for all possible cases, the enrollment application settings would allow the user to do the following:
These Enrollment Application Settings would be unique to each program and determine both the structure and the behavior of the Enrollment Application. Once the student submits the form, it would generate either one or multiple enrollment applications (depending on chosen courses/terms) which would be reviewed by a user who would finalize the details of the application before ‘approving’ or ‘rejecting’ the application; the former would generate an enrollment based on the details provided by both the application and those provided by the user who reviewed the enrollment application.
The newly generated enrollment would now be available with all other enrollments (even those created ad-hoc through the interface allowing one to to do so) and also available for gathering information on that student.
This post is about the project, DREAM
An online electronic assessment system for the purpose of collecting assessment data regarding student teachers and counselors throughout their collegiate career. The system also electronically facilitates a large number of other institutional processes in an effective manner.