Section 1 Metaphor and requirements RUMatricula is a system that aims at replacing current UPRM terminal-based course selection software with a web-based and mobile-friendly alternative that is simple and easy to use The project requires different account types. (Student, professors, counselors, management) Students will have their own account to setup the matricula Student account: will be the simplest one will only have access to all the basic features and personal information of that specific student. Students will be able to make course selections for their matricula using RUMatricula Students will be able to edit and make changes to their matricula before confirming it Students will be able to confirm their matricula Students will be able to view their current and past semester matricula courses Students will be able to view a weekly schedule of their matricula The project requires a login page, like Portal UPRM, user will login with the same username and password. RUMatricula will have a simple and organized interface. RUMatricula will have a page where students can access courses currently available, with basic information about the course (professors, sections, requirements, and classroom). RUMatricula will have an easy way to filter classes that every student wants to take, it should simplify the search for courses by professor, by hour, by days RUMatricula will allow students to you should be able to select all the courses you want to take and preferred hours and/or professors and make a dummy matricula before the course selection period RUMatricula will have a period to select courses, a period to confirm courses and a period to view courses. RUMatricula s period to select courses and confirm matricula will be different for each student, based on their GPA. Every account will have different levels of access, and will be able to access different pages. Administrative account (professors): will have access to the view courses page, and seach by courses but not to the course selection and matricula confirmation pages. 1
Professors will have access to list of courses that he/she is offering and list of students that have enrolled in their course; as well as classroom information Professors will be able to email all the students in their classes Professors will be able to view their weekly schedule. Professors will be able to edit their course description Counselors account: will have access to view course and search course selections as well as create students. Counselors will be able to assume the identity of a student to make course selections Counselors will have the ability to create/modify/remove sections and courses Counselors will have the ability to add students to full sections Counselors will be able to email all professors and students on their department Management account: will have the power to create/modify/remove students, professors, counselors, courses, sections Management accounts will be mostly used to create other accounts. Users will be able to search for classrooms, their building and locations Users will be able to search professors and their course offerings Users will be able to search for Departments, their location and classes offered Users will be able to search for campus facilities Users will be able to search for campus offices (Consulting, Academic Affairs, Registration, etc) A Students Academic progress will be also available to counselors Users will have access to a catalog of all the courses offered in campus, organized by major and department. Every time a professor name is should also link to its respective department profile, if available. The site should support at least two languages, English and Spanish. In the course information or anywhere you can see a classroom number you should be able to click and access positioning of that classroom in Google maps or a campus-building map. Personal information area where students can access their grades, curriculum, Final Exams and more. Profile page that will have basic information about the student, they resume, and any link to personal pages (LinkedIn, personal webpage, etc.) Page should be able to filter any vulgar or inappropriate content, web link or images. 2
To submit any changes to your curriculum it should ask for you personal information (student number, birth date, Social Security, etc.) like telnet if required by campus. Search other students taking the same courses Chat with students in your same section. List of students you have taken classes with List of student you know Search tutoring services by class Search tutoring services by department Section 2 - Technologies studied 3 possible programming languages to implement the project. 1. PHP PHP is a Multi-platform general-purpose scripting language that is a standard for the creation of dynamic web pages. Its multipurpose and multi-platform capabilities allow it to run on virtually any system. PHP is very flexible at creating dynamic web pages as it allows the developer to separate functions and features of the webpage in different files and structures. 2. ASN.NET C# ASP.Net provided a complete workflow user experience that allows developers to completely create a dynamic web page from the IDE. APS.Net allows the developer to use different programing languages on a single project. C# is a language of choice for the backend of the project as its syntax is very similar to java and its s a powerful and flexible language. 3. JQuery Using JavaScript, JQuery is a backend framework that allows developers to create dynamic web pages and create SQL queries completely in JS. JavaScript is very fast an efficient language as well as easy to use. For our project we chose to develop on PHP for its flexibility and multiplatform qualities. We wish to gain more experience on PHP development and on the creation of dynamic webpages. 3 possible DBMSs to implement the database component of the project 1. MySQL MySQL uses a very fast thread-based memory allocation system. This DBMS is characterized for its speed and efficiency with the downside of high memory usage. 3
MySQL is open source and available for many platforms with different hardware configurations and operating systems. 2. MS SQL Microsoft SQL is an enterprise level DBMS; alongside ASP.Net it allows developers to create and manage a database on highly-coupled manger with the application code. Its integration with Visual Studio makes MSSQL the perfect choice develop ASP.Net applications. 3. PostgreSQL We will implement the database component of the project using MySQL for its speed, and multiplatform capabilities. MySQL workbench is a very powerful and easy tool to manage the database and allows full control of it. MySQL and PHP go hand to-hand on the development of dynamic webpages, it s very simple to setup a link between those two. Setting up a link requires the creation of a user on the database, allowing permissions and logging in from the configuration files of the PHP project. 3 possible Android application development tools to develop the project for smart-phones 1. Eclipse ADT Official integrated development environment for android. Contains tools to create user interface and manage activities and hierarchy 2. Titanium Allows mobile multi-platform development; create a mobile application and export it to different smart-phone systems. 3. Android Studio Contains a rich layout editor that allows users to drag-and-drop UI components, option to preview layouts on multiple screen configurations. For mobile development of the project we well use Android Studio for its great layout editor On Android application development, considering that it s Java, using a MySQL database is a simple as getting the required libraries and coding the queries. MySQL libraries for Java allows the developer to create cursors that will allows the data transmission from the DB server to the mobile device to be lower. 3 possible web-application development tools (or software packages) to develop the project 1. BootStrap Great collection of HTML and CSS-based design templates, easy to use and implement. Saves coding time as most of the design part of the front end is developed. 2. ASP.NET Contains many tools that make database access and data retrieval simple and fast to code. Simple drag and drop interface to develop the frontend, with the ability to code and modify functionality. 4
3. Dreamweaver Great tool for frontend development. Supports CSS and has tools to develop it. Supports most web programing languages We will develop our project using Bootstrap, but will rely on tools like Dreamweaver to make custom changes. Bootstrap supports PHP and PHP templates. Section 3 - Webhosting providers Hosting Service Rank and reasons 1- Hostwinds About $500 annually for a competitive VPS Great service Solid uptime Many tiers and options for a modest price Absorbed Burst.Net hosting, a powerful company Mixed users reviews Pros Shared hosting service o 2 categories of 3 Tiers each o Very cheap Dedicated server services o Multiple hardware options VPS (virtual private server) o Linux & Windows with premium and budget VPS with 16 tiers each Advance management Software o Hostwindws sells licenses for management software like CPanel with monthly payment options o VPS servers have remote management tools like SolusVM access Extreme flexibility of hardware tiers for VPSs Tier upgrade/downgrade available on the fly Advance security services like PCI compliance certifications Monthly/Yearly payment, with discount for yearly payments Cons Vague hardware description for each tier Small bandwidth available for each low tier servers Default software selections are out of date (but can be updated) Additional IP addresses have a fee 5
2-iWFHosting About $400 annually for a competitive VPS Great costumer service Solid uptime Easy and simple setup 3- Nixihost About $100 annually for a simple hosting service Small company with little options Not many user reviews avaiable No VPS option avaiable Shared hosting service o Very cheap Dedicated server services o Many options and add-ons o Powerful hardware VPS (virtual private server) o Many add-ons o Good hardware specifications for the price o Remote management tools like SolusVM console Very cheap hosting o For shared and VPS o Most options are affordable and have good hardware specifications Include multiple IP addresses included for all tiers Management software addons available like CPanel Shared hosting service is cheap and include many functionalities Dedicated server service includes management software for free (CPanel) Top of the like dedicated server tier has good hardware for the price Simple and concise tier selections for shared and dedicated services Nixihost is a domain registrar and sell domains Nixihost offers reseller services Not many hardware options and tiers or VPS and shared services Limited VPS tiers, no high performance options Single datacenter location No VPS options available Shared hosting has only two tiers Low tier dedicated server services are expensive for the hardware provided Small company with limited services and options 6
Section 4 User Interface Mobile user interface 7
Web user interface 8