Recent Question/Assignment

WT: Build a Blog Using Node.js and Express.js - 20%
Course: BSCH
Stage / Year: 3
Module: Web Technology
Semester: 2
Assignment Number: 3
Day of Title Issue: 21/03/2023
Assignment Deadline: 11/04/2023
Assignment Submission: Upload zip file to Moodle
Assignment Weighting: 20%
Build a Blog Using Node.js and Express.js
For this assignment you are to install node.js and express.js and use it to build a simple
blog. The blog should be realistic and have a theme of your choice.
Blog Requirements:
General Requirements
R1: The blog shall have a home page
R2: The blog shall feature an introduction
R3: The blog shall feature a navigation menu
R4: The blog shall have a navigation menu with links to all the other pages
R5: The home page shall feature a preview of the 10 latest blog posts.
R6: The blog / latest news section shall list blog articles
R7: The listed blog articles shall allow the user to click on one post and be presented with
a details page.
R8: The details page of a post shall have a publish date.
R9: The details page of a post shall have a title.
R10: The details page of a post shall have subtitles where required.
R11: The details page of a post shall have an image.
R12: The details page of a post shall contain the main text of the blog post.
R13: All images used on site shall have image alt tags and image titles
R14: Include links to other posts on your site where appropriate
R15: Include relevant external links to third-party sites
R16: The details page of a post shall include author and contributing author info
R17: All pages/posts shall have a consistent, persistent header
R18: The header shall have a site title
R19: The header shall have a description/tagline
R20: The app shall allow an admin user to create new users
R21: The app shall allow an admin user to edit new users’ information
R22: The app shall allow an admin user to delete new users’ information
WT: Build a Blog Using Node.js and Express.js - 20%
R23: The app shall store new users’ information name, email address.
R24: Users can log in and log out by creating or destroying a token.
Frontend
It is time to build a simple frontend for the blog API you created. Please create a web app
that allows customers to:
• Signup on the site.
• List all the articles.
• View all the articles.
• Make a comment
• Edit a comment
• Delete a comment
Admin Interface
It is time to build the Admin CLI for the blog app. Please build an interface that would
allow the manager of the blog to:
• View all the current articles.
• Edit an article.
• Delete an article.
• View all the recent posts in the system (posts made in the last 24 hours).
• Lookup the details of a specific user by email address.
• View a detail page for a blog entry, along with links to delete and edit the post.
Any other requirements that you deem necessary from the research you have
undertaken.
The blog should have at least 10 (real) blog posts.
The site should have CSS applied to make it usable and user friendly you may use a CSS
framework such as:
• Bootstrap,
• Foundation
• Skeleton
• Bulma
• Tailwind CSS
.
Your own design additions, including typography, colour, and layout elements.
Basic functionality (minimum requirements):
• Read, write, update, delete blog posts
• A home page with chronological listing of past 10 posts
• User experience Design & usability
• Detail pages for each post
WT: Build a Blog Using Node.js and Express.js - 20%
• All code MUST be commented
• The material presented, must be your own work. All other work must be fully and
properly cited.
For extra marks:
• The ability to log in.
• Only logged in users can edit etc.
• All requirements listed fulfilled
• Going beyond the brief.
• Innovation.
Marking:
• Deploy on Heroku 10%
• Requirements 25%
• Coding and commenting of code 25%
• Presentation 15%
• Innovation 25%
Your work should be/have:
• For the person marking your work, even if they are a lecturer, you are familiar
with, they have no way of attributing marks other than by what is presented.
• Read brief carefully and make sure that you fulfil all requirements.
• Research evident
• Cite any copyrighted materials
Submission Requirements:
One PDF named as follows uploaded to Moodle:
A zip file containing...
• All files for the blog
• A cover sheet
• A text file with any installation instructions & a link to your working blog on
Heroku with any login details.
• You must share your Heroko container with the lecturer. The lecturer requires
editing rights. My handle on Heroku at email: hahhaseeb@gmail.com
• Your site must be deployed on Heroku.