$25
Learning outcomes covered in this assignment
2. Discuss the tools used in providing web-based applications.
3. Design and implement a dynamic web application using a range of languages/technologies/tools.
4. Discuss and evaluate the available data access technologies.
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
1. Evaluate two web programming languages that can be used for this development.
2. Evaluate two data access technologies can be used for this development.
3. 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 D: Deployment [4 marks]
Requirements:
1. Setup Github for Django
2. Setup Heroku/AWS/other host apps that corresponds to GitHub repositories.
3. Deploy your website to Heroku/AWS/Heroku/AWS/other host.
a. Procfile
b. Requirement.txt
4. Firebase storage configured.
Task
Maximum marks
Your mark
Comment
1. Technology Evaluation
16
2. Web Development
a. Models
36
b. Views
34
c. Templates
10
d. Deployment
4
Total
100
Appendix 2
Developer Journal Example:
===
March 23rd 2020 – Started @ 2:30PM
Going to work on Task #5, to try and implement saving user data to text files.
Estimate: 30 minutes
Got a bug, file isn’t being created correctly.
5:15PM Still stuck on bug. Switching to Task #7 to add a button.
5:45PM Added a button, closed Task #7.
7PM: Fixed bug with file not being created. I was accidentally saving it to the wrong directory. Future Suggestion: Make sure to always check which directory I save files to. Actual time taken: ~4 hours.
7:30PM: Need to create an Invoice class which has save() method. Estimate: 1hr
Stopped @ 9pm.
===
March 24th 2020 – 10AM
Continuing on Task #6 from yesterday – Creating class for Invoice
10:30AM: Finished class for Invoice (Task #6).
Actual time taken: ~2 hours.
10:45AM: Debug Issue #12 – Game collisions aren’t working and object disappears off screen. Estimate: 4 hours
1PM: While debugging game collisions I realized that I forgot to enable logging. I enabled logging and instantly saw why collisions weren’t working. I wasn’t checking if a collision occurred before moving the object.
Future Suggestion: When creating classes, start with a list of pseudo-code comments of things I need to remember to check. Also don’t forget to enable logging when debugging.
Actual time taken: ~2 hours
2PM: Refactored / rewrote the do_stuff() function to be smaller and more clear.
4PM: Found a StackOverflow post for a possible solution to Task #9: https://stackoverflow.com/questions/1077347/hello-world-inpython
5PM: Solution didn’t work. Out of time for this feature so will cut it and work on a different task.
Etc.. Write in your journal and work on your code daily.