Final Year Project (Web Development)

Learning Outcomes:

  • Designing and implementing a full-stack web application realizing an online service
  • Understanding and applying web development as a fundamental skill in computer science
  • Using state-of-the-art technologies and established best practices in web development
  • Developing a web application following an N-tier architectural pattern
  • Implementing application logic and user interface using existing web application technologies/platforms
  • Designing a relational database schema with sound constraints according to normalization rules
  • Evaluating state-of-the-art options for web development technologies based on various comparison criteria
  • Investigating and reflecting on a number of candidate technologies for web development
  • Justifying the choices made in technology selection for the web application
  • Implementing advanced features such as ACID transactions, comprehensive security/privacy analysis, and advanced security mechanisms
  • Using NoSQL data stores to speed up user interaction while maintaining sound levels of transactional consistency
  • Implementing advanced UI features such as push notifications
  • Exploring the use of emerging platforms such as blockchain in web development

Skills for module:

TypeScript

JavaScript

Next.js

React

Chakra UI

Firebase

Recoil

Docker

GitHub Actions

GitHub

Google Cloud Platform

Git

HTML

CSS

Yarn

ESLint

Prettier

Python

SQLAlchemy

Flask

Relational Databases (SQL)

Normalisation

Indexing

Poetry

REST

Problem Solving

Project Management

Critical Thinking

Creativity

Adaptability

Time Management

Scope Management

Stakeholder Management

Communication

Risk Management

Object Oriented Programming

Design Patterns

Algorithms

Web Development

User Centric Design

Database Management Systems

Non Relational Databases (NoSQL)

Databases

Cloud Computing

User Authentication

SDK

Security

Cyber-Security

State Management

Containerization

DevOps

Infrastructure as Code

Continuous Delivery

Continuous Integration

Continuous Deployment

Automation

Version Control

Linting

Object Relational Mapping

APIs

Final Year Project (Web Development)

CS3821

Learning Outcomes

  • Designing and implementing a full-stack web application realizing an online service
  • Understanding and applying web development as a fundamental skill in computer science
  • Using state-of-the-art technologies and established best practices in web development
  • Developing a web application following an N-tier architectural pattern
  • Implementing application logic and user interface using existing web application technologies/platforms
  • Designing a relational database schema with sound constraints according to normalization rules
  • Evaluating state-of-the-art options for web development technologies based on various comparison criteria
  • Investigating and reflecting on a number of candidate technologies for web development
  • Justifying the choices made in technology selection for the web application
  • Implementing advanced features such as ACID transactions, comprehensive security/privacy analysis, and advanced security mechanisms
  • Using NoSQL data stores to speed up user interaction while maintaining sound levels of transactional consistency
  • Implementing advanced UI features such as push notifications
  • Exploring the use of emerging platforms such as blockchain in web development