Apply Now
Contact
Parent Programme
Bachelor in Computing (Level 7 NFQ)
NFQ Level & Reference
Level 7 / Ref: M3.9
Duration
12 Weeks X 3 Hours per week
MODULE TITLE
Full Stack Development 2
STAGE
Award
Module Credit Units
ECTS: 5

Full Stack Development 2

Introduction Full Stack 2

This module builds on Programming Principles & Practice at Stage two, Full Stack development in Semester 1 of Stage 3 and develops skills essential for producing full-stack web-applications based on widely used frameworks and platforms..  Learners will develop an awareness of practical design and development considerations when producing and developing reactive UIs for web applications.

Indicative Syllabus Content

Full Stack Development 2

Developing a reactive UI

  • Introduction to Javascript frameworks and the role they play in modern UI development (Angular, React, VUE) and alternative frameworks such as Microsoft Blazor
  • Comparing traditional Javascript event handling and legacy frameworks (such as Jquery)  with the approach taken in reactive UIs
  • Working with Components and manipulating data and data collections
  • Interacting and communicating between Components
  • Connecting to and rendering rest-based APIs. (Note, students should have enough experience from semester 2, year 2 from OOP to develop their own basic APIs.)
  • Securing the front end
  • Testing the Reactive UI
  • Deploying to the cloud using DevOps  techniques (such as docker containers, github actions)

Developing the backend APIs 

  • Develop a CRUD based application system that is deployed on the cloud using DevOps  techniques
  • Create a suite of APIs that implement GET, POST, PUT and DELETE protocols
  • Implement caching techniques for data intensive API calls – such as memory cache, database cache or Redis.
  • (Optional) Implement the CQRS pattern for structuring the API calls
  • (Optional) Introduction to Blazor as an alternative reactive UI
  • Implement the use of automappers for Data Transfer Objects
  • Use common ‘faker’ packages for creating fake data (such as users) during development and testing
  • Use industry standards and libraries for user authentication – such as Microsoft Identity preferred), Firebase Auth, Azure B2C etc. (Important: Students must NOT develop their own authentication mechanism)
  • Structure the application into a suite of microservices or separate libraries using clean architecture techniques
  • Implement Event messaging such as Rabbit MQ or Azure Service Bus to allow communication between microservices and libraries.
  • Authenticating and securing APIs
  • Develop unit-tests as an integral part of project which are run as part of their DevOps  deployment
  • Develop a basic level of automated tests which simulate login and basic CRUD user interactions

Minimum Intended Learning Outcomes (MIMLOs)

Upon successful completion of this module, the learner should be able to:
MIMLO1
Design and develop full-stack web solutions that can supply and consume services through an API.
MIMLO2
Connect common SQL and NoSQL databases to a CRUD-based API and render JSON output using a reactive UI.
MIMLO3
Develop unit-tested and secure code which ensures efficient and secure client server communication with authorised / authenticated transactions.
MIMLO4
Demonstrate the use of error-handling, testing, and debugging techniques when developing full-stack web-applications.
MIMLO5
Setup and use industry cloud services to deploy web applications using DevOps techniques such as GitHub actions.

Assessment

MIMLOs
Assessment
Percentage
1, 2, 3, 4, 5
CA1, CA 2, - Practical in class lab work
Total 100%
CA 3 - Project
All Assessments

Reassessment Opportunity

Where the combined marks of the assessment and examination do not reach the pass mark the learner will be required to repeat the element of assessment that they failed. Reassessment materials will be published on Moodle after the Examination Board Meeting and will be aligned to the MIMLOs and learners will be capped at 40% unless there are personal mitigating circumstances.

Aims & Objectives

This Full Stack Development module will ensure learners meet the following objectives:

  • Connect reactive UIs to native APIs for obtaining and rendering data.
  • Develop appropriate rest-based APIs that implment POST, GET, PUT, PATCH and DELETE requests.
  • Develop a suite of APIS that that create, retrieve, update and delete (CRUD) objects in a persistent store.
  • Connect a reactive UI that manipulates CRUD APIs.
  • Set up and configure the APIS for authentication and authorisation that work in tandem with the reactive UI.
  • Adopt secure coding practices to secure their APIs against unauthorised use such as using JWT Tokens, HTTP Headers, IP-Restrictions and implementing role-based access to resources.
  • Develop a full online application showcasing user registration, authentication, personalisation, logging and dynamic requests.
  • Deploy the application to the cloud such as AWS, Azure, GCP or Heroku.
[TheChamp-Sharing]
APPLY NOW
Top