Courseregistration system
Thiscourse work should be done with a group of 3 or 4 to fulfill theassessment of SODV2201 web programming course.
Pleaseform a group and send your member’s full name. One submissionper group is enough. If you don’t have a group let your teacherknow before September 30.
Bowonline course registrationis anonline page that allow students to register for selected program inIT department for a diploma (2 years), post diploma (1 year),certificate (3 months and 6 months), upgrade (students choose to takeany high school courses to join IT program. An upgrade student cantake 3 courses only per term). Corresponding to each program, coursedetail is given including course id, name, starting date, endingdate, fees and description. Each of the Bow program delivers morethan two courses per term.
Note. The associated number of years to eachprogram helps you to know how many terms will be there for all theprograms. And in each term, there should be a course. Use thefollowing dummy data as a starting point and modify it as needed.
Sampledata
Term1
Project management1, Pr111
C++ProgrammingFundamentals, C++111
Computer Maintenance, CompM1111
Information Security1, IS1111
Term2
Networking, Net222
Web technology, Web222
Project Management, Pro222
Term3
Advanced Project management1, Pr333
AdvancedC++ProgrammingFundamentals,C++333
Advanced Computer Maintenance, CompM333
Advanced Information Security1, IS333
Term4
Advanced Networking, Net222
Advanced Web technology, Web222
Advanced Project Management, Pro222
The Bow system administrator have a separatelogin page to do the following
Add new course detail including course name,course starting and ending dates, and any other course relatedinformation’s
Can search specific course using course nameor course code
Delete courses from the system
View list of registered students for differentprogram
View any form submitted from students
On Bow course registration system students cando the following
They can search available courses from thewebsite using course name or course code.
They can send question using contact form.
If a student wants to register for aparticular program and or a selected course, he/she have to sign up.
The signup page collects students detailinformation first name, last name, email, phone, dob, department,program, username and password.
Bow course registration system generates astudentID for a registered user and redirect them to a login page tosign in again or to a welcome home page, you can choose any of theoption.
Theobjective of this use case is to give you an idea what aspects toinclude in your project. As a starting point you can use what isexplained above and add different features and modification to it tomeet your frontend and backend application development need as youlearn progressively.
Thisproject has 3 parts Assignment 1 and Assignment 2 and final project.Assignment1 outcome will be used as input for your Assignment2. Thenthe combined final submission of this two-assignment work will betaken as your course project work. There will be a set of specialfeatures in each phase of this assessment. There will be optionalcheck in and question at the end of each phase.
Implement yourunderstanding of web application architecture in your web project
Study thedifferent scenario of the project to come up with inclusivewireframe design (structureof the website)
Prepare aprototype design of your web application
Implementationshould be done using react.js and related frameworks
Adhere formalproject work file structure and good naming convention
For assignment 1your task is to design and create a frontend web applicationincluding featured user interface.
A D2L or gitrepository containing your frontend implementation.
Your design andimplementation should use React, or another frontend web frameworkthat you have cleared with your instructor.
This assignment isworth a total of 15 percent of your final mark.
As in any largesoftware project, you should take some time to consider your frontenddesign before starting the implementation. Consider the followingquestions while coming up with your design:
What are mydifferent pages?
Which parts ofthese pages should be components?
Which parts ofthese pages should be elements?
Where should Istore my state? Which elements can be stateless?
How should thestate be transferred between components and elements?
How can myfrontend use an API to access a data from a database?
Which portionsof my design are reusable?
How should Ihandle animation and state changes?
Is my designmodular?
Does thisdesign exhibit low coupling and high cohesion?
Is my design easily updatableor customizable?
Remember to keep thefollowing in mind as you write and test your code:
Does this codeadhere to the design?
If not, isthat an implementation oversight or a design oversight?
Is this codemaintainable?
Does it detectand handle strange input parameters?
Does itcorrectly leverage the framework I am using?
Does it useproper packages and tools?
Is this codeefficient?
If not, is itworth the cost in time and readability to fix that?
At this pointyou can recode the front end as well as the back end to meet anyspecific need
You are expected tomake progress on your site throughout the semester. To pass, yourfront end must meet the following conditions:
Stored in a gitrepository or D2L
Capable ofrunning on a local machine.
It should havefull functionality of UI by the time the assignment is due.
Each studenthas to demonstrate the submission up on request.
Assignment2: (15/15)
Study thedifferent scenario of the project to come up with inclusive design
Prepare thebackend design of your website
Implement backendweb application using Node.Js and SQL/MySQL or MongoDB server.
Create differentlocal APIs to process data from your database.
Discuss your ERD diagram tomake sure the schema accommodates the features of your frontendwebsite You should be able to run, connect to, and query yourdatabase and populate the database with sample record
WhichAPI should you implement to retrieve information to/from Bow courseregistration system?
Yourtask is to integrate your front application with your backendapplication for your course project. In this part of the assignment2,you should work on
Workingdatabase schema implementation populated with sample data 3
Webapplication and database integration 2
LocalAPIs to fetch data to/from your database (you can us postman fortesting) 2
Securityand validity of your front-end and back-end web application 3
Loginor session management 3
Atest suite that covers all major functionality of Bow courseregistration system.2
Yourdesign and implementation should use NodeJS and SQL database or MySQLdatabase, or another backend web framework and database system thatyou have cleared with your instructor.
Muchlike your frontend, you should think carefully about your designbefore you start implementing any code. Consult your sketch andconsider the following questions:
WhichAPI should to get information from Bow registration system
Properuse and implementation of APIs to work on Bow registration system
Whatis the input and output of any functions I need? Are there edgecases?
Howshould I structure my end points?
Howwill I manage login and sessions?
Ismy design modular?
Doesthis design exhibit low coupling and high cohesion?
Onceyou have settled on a design, begin creating unit tests for your APIendpoints. You may use any testing framework of your choice, or none.You are recommended to use postman and similar tools to easy yourwork for testing purposes.
ImplementingYour Backend
Withunit tests in place, you should be able to write your backend code topass the tests. Remember to keep the following in mind as you writeand test your code:
Doesthis code adhere to the design?
Ifnot, is that an implementation oversight or a design oversight?
Isthis code maintainable?
Doesit detect and handle strange input parameters?
Doesit adhere to the best practices of the language I am using?
Doesit correctly leverage the framework I am using?
Isthis code efficient?
Ifnot, is it worth the cost in time and readability to fix that?
Project will bemarked according to the following rubric:
410Exceptional
37
Good
25Fair
13Poor
DesignQuality
5
Allmajor functionality adheres to design best practices for thefront end framework.
Mostfunctionality is well designed, but there is one major oversightor a few small oversights. 7
Designhas several major flaws, but still uses some aspects of theframework best practices. 5
Designdid not use framework, or used it trivially.
2APICalls
10
Frontend uses all mock server endpoints correctly.
Frontend uses most mock server endpoints correctly. 7
Frontend uses at least one mock server endpoint correctly. 5
Frontend does not use mock server.
ImplementationQuality
Implementationuses chosen library effectively, handles errors, and isreasonably efficient.
Implementationuses library, but not as effectively as possibleORdoes not handle errors reasonablyORis grossly inefficient. 7
Implementationbarely uses library, or uses it incorrectly. 5
Libraryis not used, or is trivially used.
Styleand
Maintainability
Codefollows industry standard conventions for organization,documentation, and style. Deviations from industry standard aretrivially small.
Codedoes not follow industry standards, but is still easy to follow.7
Codecan followed, but it is difficult due to unconventional style,organization, or documentation.5
Codeis almost impossible to follow due to poor style, documentation,or organization.
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here