Description
Learning outcomes covered in this assignment
- Discuss the tools used in providing web-based applications.
- Design and implement a dynamic web application using a range of languages/technologies/tools.
- Discuss and evaluate the available data access technologies.
School of computing is upgrading their gradebook system. This system allows lecturers to enter student marks. Students can also view their marks in the gradebook.
Business Rules:
- One semester runs one to many courses
- One course is run in zero to many semesters
- One course can be separated into one to many classes
- One class can only run one course
- One class can be taught by only one lecturer
- One lecturer teaches zero to many classes
- One class holds one to many student’s enrollments
- One enrollment fit in one class
- One student enrolls to one to many courses.
- One student enrollment belongs to one student.
Client requirements:
- Administrator can create/update/delete/show semesters
- Administrator can create/update/delete/show courses
- Administrator can create/update/delete/show classes
- Administrator can create/update/delete/show lecturers
- Administrator can assign/remove/change/show a lecturer to a class
- Administrator can create/update/delete/show student
- Administrator can enrol/remove/show student to classes
- Administrator can upload students from excel files to the website
- The system can email students when their marks are ready
- Lecturer can login to the gradebook
- Lectures can enter students’ marks in the gradebook
- Students can login to the gradebook
- Students can view their marks in the gradebook.
Note: there is no need to change password and there is no need fo
| Task 1: Technology Evaluation | [16 Marks] |
Before you start web development (i.e., in this case gradebook system) you will do research and evaluate programming languages and data access technologies that can used for the development. Answer the following questions.
Questions
- Evaluate two web programming languages that can be used for this development.
- Evaluate two data access technologies can be used for this development.
- Based on your evaluation of questions 1 and 2 recommend a web programme
language and data access technology that can be used for development.
Task 2: Web Development [85 Marks]
To develop the gradebook system, you need to design and implement a dynamic web application using Django, PostgreSQL and/or other available web development tools. You will also host your web application on Heroku with available add-ons. You will upload your code to GitHub. The requirements for the application are given below:
Part A – Models [36 marks]
Follow the given class diagram to create models
Part B: Views [34 marks]
- View for administrator to create/update/delete/show semesters
- View for administrator to create/update/delete/show courses
- View for administrator to create/update/delete/show classes 4. View for administrator to create/update/delete/show lecturers.
- View for administrator to assign/remove/change/show a lecturer to a class
- View for administrator to create/update/delete/show student
- View for administrator to enrol/remove/show student to classes
- View for administrator to upload students from excel files to the website
- View for the system to email students when their marks are ready
- View for lecturer to login to the gradebook
- View for lectures to enter students’ marks in the gradebook
- View for student’s to login to the gradebook
- View for students to view their marks in the gradebook.
Part C: Templates: [10 marks]
- Template(s) for all administrator’s functions.
- Template(s) for lecturers’ functions.
- Template(s) for student’s functions. 4. Authentications on all templates
- Templates can be reused.
Part D: Deployment [4 marks]
Requirements:
- Setup Github for Django
- Setup Heroku/AWS/other host apps that corresponds to GitHub repositories.
- Deploy your website to Heroku/AWS/Heroku/AWS/other host.
- Procfile
- txt
- Firebase storage configured


